我想用spring服务器构建一个简单的微服务应用程序。我正在使用Github存储库来存储配置文件。目前,我有两个非常简单的微服务。其中之一是云配置服务器,它从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服务器成功地检索了属性。
在我的第二个微服务中,我添加了带有两个属性的bootstrap.properties以连接到云-配置服务器:
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注释使用属性时,我会得到一个错误:
自动关联注入失败;嵌套的例外是java.lang.IllegalArgumentException:未能解析占位符'test.text‘的值"${test.text}“
我敢肯定,我没有在我的财产名"test.text“中输入一个错误。
发布于 2020-11-18 08:02:02
我已经解决了我的问题。默认情况下不再启用Bootstrap.properties文件。您可以通过添加新的依赖项来启用它:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>或者,您也可以删除bootstrap.properties文件并在application.properties文件中提供这些属性。
spring.config.import=configserver:*URI to your cloud config server*
spring.cloud.config.name=*Your cloud config server name*发布于 2021-03-16 22:07:48
在客户端application.properties中,您必须使用客户端应用程序名称,而不是服务器名。
spring.cloud.config.uri=http://localhost:8888
spring.cloud.config.name=applicationname发布于 2021-05-21 17:55:49
<spring-cloud.version>2020.0.3-SNAPSHOT</spring-cloud.version>对于春天的云和
<version>2.5.0-SNAPSHOT</version> 春天的靴子。
同样在application.properties文件中:
spring.config.cloud.uri=htp://localhost:8888
spring.config.import=optional:configserver:htp://localhost:8888这些应该能解决你的问题,就像它对我的问题一样。
https://stackoverflow.com/questions/64880940
复制相似问题