Spring Boot 新手。使用配置服务器根据配置文件分散属性。
bootstrap.yml:
Spring :
应用:
名称:应用程序名称
简介:
活跃:个人资料在这里
云:
配置:
uri:https://someurlhere
application.properties:
其他一些键值对放在这里
spring.application.name=nameofthedummyapp
控制台日志:-
XXX
2019-06-27 16:26:37.929 DEBUG [xxx,,,] 22564 --- [ main] o.s.web.client.RestTemplate :为“https://someurlhere/nameofthedummyapp/profilehere”创建 GET 请求
XXXX
但我的想法是,https://someurlhere/nameoftheapp/profilehere
。
看来,Spring Boot从application.properties中选择了spring.application.name而不是bootstrap.yml。在 application.properties 中注释掉解决了这个问题。
我在示例中看到的是,为了访问配置服务器,Spring Boot正在使用bootstrap.yml。错误地,我在两个地方的名字发生了冲突。
但是很想知道,
- Spring Boot 是否从适当的位置拾取?或
- 后来加载的配置文件 (application.properties) 是否覆盖了第一个加载的配置文件 (bootstrap.yml)?
这里有点困惑。
有人可以在这里分享一些见解吗?
最佳答案
如果您在项目中添加了配置客户端依赖项,它将首先从引导属性中获取分析和配置服务器相关属性。
是的,问题是 bootstrap.properties 中的 spring.application.name 被 application.properties 文件中的 spring.application.name 覆盖。
关于java - 在冲突的情况下, spring.application.name 在 bootstrap.yml 中不被尊重,而是在 application.properties 中被尊重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56791301/