【问题标题】:Precedence of Spring boot profile specific and spring.config.import propertiesSpring 引导配置文件特定和 spring.config.import 属性的优先级
【发布时间】:2021-10-15 23:51:27
【问题描述】:

Spring Boot 版本:2.5.0

我有不同的属性文件。 3 个在 jar 中,一个在服务器上(用于覆盖特定于服务器的属性)

  1. application.properties
  2. application-dev.properties
  3. application-prod.properties

活动配置文件和外部属性的路径在 application.properties 中配置。

spring.profiles.active=@prodProfile@
spring.config.import=optional:file:./application-local.properties

@prodProfile@ 的值来自 pom.xml 的配置文件部分。

    <properties>
        <prodProfile>prod</prodProfile>
    </properties>

如果我在 application-prod.properties 和 application-local.properties 中有相同的属性,哪个优先?当我测试时,我发现配置文件特定具有优先权。无法使用 spring.config.import 覆盖属性值。这是预期的行为吗?

【问题讨论】:

    标签: spring-boot


    【解决方案1】:

    是的,这是预期的行为。与described in the documentation 一样,使用spring.config.import 导入的文件“被视为紧接在声明导入的文件下方插入的附加文档”。

    在您的情况下,您将文件导入application.properties,因此它将被视为一般的、非特定于配置文件的配置。因此,特定于配置文件的属性将优先。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-09
      • 2015-06-15
      • 1970-01-01
      • 2018-06-12
      • 2016-07-12
      • 2015-12-27
      • 1970-01-01
      • 2021-12-09
      相关资源
      最近更新 更多