我关注此链接:http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_client_side_usage
我一次又一次地测试了这个并没有看到Spring Cloud 客户端正在从 Cloud 服务器加载配置,请帮助看看错误在哪里:
POM:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
应用:
@Configuration
@EnableAutoConfiguration
@RestController
public class ConfigclientApplication {
@Value("${spring.cloud.config.uri}")
String url;
@Value("${production.host}")
String host;
@RequestMapping("/")
public String home() {
return "Host is => " + this.host ;
}
public static void main(String[] args) {
SpringApplication.run(ConfigclientApplication.class, args);
}
}
bootstrap.properties:spring.cloud.config.uri = http://localhost:8888
{ “名称”: “思博伦”, “简档”:[ “默认”], “标签”: “主”, “propertySources”:[{ “名称”: “类路径:/spirent.yml”, “源”: { “production.host”: “服务器1”, “production.port”:9999, “production.value1”:12345 “test.host”: “server2.com”, “test.port”:4444,“测试 . 值 “:” hello123" }}]}
- 现在http://localhost:8080/根本无法启动 .
创建名为'configclientApplication'的bean时出错似乎自动注入@Value无法找到production.host环境值 .
从配置服务器加载后,如何在客户端中读取配置?
谢谢你的帮助 .
1 回答
正如Deinum所暗示的那样,我确保您将客户端配置为父级作为spring-cloud-starter-parent并为其提供版本 . 当你在依赖项中包含并且记住 Cloud 是一个与启动不同的项目时,Spring Cloud 提供的Maven插件不会工作 . 将其更改为:
其次,作为一门新学科(可能不是你的问题),我会在你的应用程序中使用新的注释而不是@Configuration和@EnableAutoConfiguration
第三,仔细检查配置服务器上是否有@EnableConfigServer
第四,确保客户端上的bootstrap.properties具有指定的spring应用程序名称:
最后,如果您使用了spring-cloud-config示例项目,则必须在URI中设置默认用户和安全密码:
否则,请尝试从位于此处的spring-cloud-config项目开始,以确保正确设置配置服务器: