spring.profiles.application- {profile} .properties的活动优先级

时间:2019-04-26 08:14:46

标签: spring

如果要添加多个application-{profile}.properties,我想知道spring.profiles.active文件的优先级

例如:

  • 说,我有这个spring.profiles.active=profile1,profile2
  • 在我的src/main/resources中,我有这些文件application-profile1.propertiesapplication-profile2.properties
  • 如果两个文件配置的属性相同但值不同,那么显示的是哪个?

我已阅读this,但此处未涵盖此主题。

谢谢。

2 个答案:

答案 0 :(得分:2)

First Spring加载默认配置文件(application.properties),然后用其他配置文件以列出它们的相同顺序覆盖它。 因此,根据您的情况,profile2值将覆盖您在profileapplication.properties

中定义的所有内容

最简单的方法是编写非常简单的应用程序并检查它:)

答案 1 :(得分:1)

根据文档,最后指定的个人资料将获胜。
在您的示例spring.profiles.active=profile1,profile2中,profile2的属性应覆盖profile1的属性。

在文档的24.4 Profile-specific Properties点,您可以阅读:

  

如果指定了多个配置文件,则采用后赢策略。对于   例如,由spring.profiles.active属性指定的配置文件是   在通过SpringApplication API配置的功能之后添加,并且   因此优先。