【问题标题】:spring.application.name is not honoured in bootstrap.yml instead honoured in application.properties in conflicting casespring.application.name 在 bootstrap.yml 中不被尊重,而是在 application.properties 中被尊重在冲突的情况下
【发布时间】:2019-06-27 12:43:23
【问题描述】:

弹簧靴的新手。使用配置服务器根据配置文件分散属性。

bootstrap.yml:

spring: application: name: nameoftheapp profiles: active: profilehere cloud: config: uri: https://someurlhere

application.properties: some other key value pairs goes here spring.application.name=nameofthedummyapp

控制台日志:- XXX 2019-06-27 16:26:37.929 DEBUG [xxx,,,] 22564 --- [ main] o.s.web.client.RestTemplate : Created GET request for "https://someurlhere/nameofthedummyapp/profilehere" XXXX

但我想的是,https://someurlhere/nameoftheapp/profilehere

看来,spring boot 从 application.properties 中选择了 spring.application.name 而不是 bootstrap.yml。在 application.properties 中注释掉解决了这个问题。

我在示例中看到的是,为了访问配置服务器,spring boot 正在使用 bootstrap.yml。错误地,我在两个地方都有冲突的名字。

但很想知道,

  1. 弹簧靴是否从合适的地方拾起?或
  2. 后来加载的配置文件(application.properties)是否覆盖了第一个加载的配置文件(bootstrap.yml)?

这里有点困惑。

有人可以在这里分享一些见解吗?

【问题讨论】:

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


    【解决方案1】:

    如果您在项目中添加了配置客户端依赖项,它将首先从您的引导属性中获取分析和配置服务器相关属性。

    是的,您的问题是 bootstrap.properties 中的 spring.application.name 被 application.properties 文件中的 spring.application.name 覆盖。

    【讨论】:

      猜你喜欢
      • 2019-09-18
      • 1970-01-01
      • 2017-03-18
      • 1970-01-01
      • 2013-09-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 2020-03-18
      相关资源
      最近更新 更多