java - 在冲突的情况下, spring.application.name 在 bootstrap.yml 中不被尊重,而是在 application.properties 中被尊重

标签 java spring-boot spring-cloud-config application.properties configserver

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。错误地,我在两个地方的名字发生了冲突。

但是很想知道,

  1. Spring Boot 是否从适当的位置拾取?或
  2. 后来加载的配置文件 (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/

相关文章:

java - Android Studio 中的电子邮件有多行

java - @preauthorize spring boot 显示访问权限错误

java - 当一对多关系的火合并时,Hibernate 抛出 EntityNotFoundException

java - 如何设置 RestTemplate 以重试对某些响应状态代码的调用?

java - 通过 SSL 从 Spring Cloud Config 获取配置

java - Spring Cloud 配置服务器禁用加密和解密端点

java - CardLayout 更新信息时删除旧面板

java - import在gradle项目中用红色下划线

gradle - 无法解析 org.springframework.cloud :spring-cloud-starter-config

java - 通配符域 validator