我想用spring云配置服务器构建一个简单的microservices应用程序。我正在使用github存储库来存储配置文件。目前,我有两个非常简单的微服务。其中之一是云配置服务器,它从github上的远程repo检索属性。在这个微服务的主类中,我添加了@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 cloud config server成功检索属性。
在我的第二个微服务中,我添加了bootstrap.properties和2个属性来连接到云配置服务器:
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>
不幸的是,我的微服务无法从云配置服务器检索属性。当我试图通过@value annotation使用属性时,我得到一个错误:
自动连接依赖项的注入失败;嵌套异常为java.lang.illegalargumentexception:未能解析值“${test.text}中的占位符”test.text“”
我确信,我的属性名“test.text”没有输入错误。
1条答案
按热度按时间pgpifvop1#
我已经解决了我的问题。默认情况下,bootstrap.properties文件不再启用。您可以通过添加新的依赖项来启用它:
或者,也可以删除bootstrap.properties文件并在application.properties文件中提供这些属性