【发布时间】:2021-03-01 00:06:42
【问题描述】:
我想用 spring 云配置服务器构建一个简单的微服务应用程序。我正在使用 Github 存储库来存储我的配置文件。目前,我有两个非常简单的微服务。其中之一是 cloud-config-server,它从 Github 上的远程仓库检索属性。在这个微服务的主类中,我添加了@EnableConfigServer 注解,并在 application.properties 文件中提供了几个属性:
spring.application.name=cloud-config-server
server.port=8888
spring.cloud.config.server.git.uri=*Remote repo URI*
spring.cloud.config.server.git.username=*Username*
spring.cloud.config.server.git.password=*Password*
spring.cloud.config.server.git.clone-on-start=true
如果我去 http://localhost:8888/cloud-config-server/default 一切正常,我的 spring 云配置服务器成功检索属性。
在我的第二个微服务中,我添加了带有 2 个属性的 bootstrap.properties 以连接到 cloud-config-server:
spring.cloud.config.uri=http://localhost:8888
spring.cloud.config.name=cloud-config-server
我还添加了这个依赖项
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
不幸的是,我的微服务没有从 cloud-config-server 检索属性。当我尝试通过 @Value 注释使用属性时,出现错误:
自动装配依赖注入失败;嵌套异常是 java.lang.IllegalArgumentException:无法解析值“${test.text}”中的占位符“test.text”
我确定,我的属性名称“test.text”没有打错。
【问题讨论】:
-
请包含版本
-
Spring boot 2.4.0 和 Spring Cloud 2020.0.0-SNAPSHOT
-
这里详细分享了解决方案: stackoverflow.com/a/66533416/10791378
标签: java spring spring-boot spring-cloud spring-cloud-config