当依赖项也有一个application.yml文件时,带有application.yml的Spring Boot应用程序如何表现

时间:2019-06-17 19:01:03

标签: spring spring-boot

如果是Spring Boot应用程序,会发生什么情况。该应用程序定义了application.yml,并且该应用程序的依赖项之一也具有application.yml。

spring会合并这两个属性吗,进入决赛并启动吗? 如果spring合并了这两个属性,将如何处理公共属性?

1 个答案:

答案 0 :(得分:3)

两者将合并。

  • 具有相同名称的属性:应用程序的application.yaml中的值将覆盖依赖项application.yaml中的值。
  • 未被覆盖的属性(在两个Yaml中均定义)将被直接使用。您未包含在应用程序的application.yaml中的所有内容将默认为依赖项application.yaml中定义的值。

示例:

依赖项目中的application.yaml:

something:
  first: value1
  second: value2
otherthing:
  third: value3

application.yaml在我的应用程序中:

something:
  first: myvalue1 // this will override value1
mysetup:
  fourth: myvalue2

myapplication.yaml中未指定的值将取自dependency.yaml

来源:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files