Skip to main content

配置文件

spring.profiles.include允许在应用启动时自动包含额外的配置文件。这在处理不同环境的共享配置或者模块化配置时特别有用。

如何使用 spring.profiles.include

  1. 定义配置文件

    • src/main/resources 目录下创建对应的配置文件。例如,如果你有一个名为 common 的配置集,可以创建一个名为 application-common.propertiesapplication-common.yml 的文件。
  2. 启用自动包含

    • 在你的主配置文件(通常是 application.propertiesapplication.yml)中添加如下属性:
      spring.profiles.include=common
    • 这条配置告诉 Spring Boot 在任何其他配置文件加载之前先加载 application-common.* 文件中的配置。
  3. 使用特定环境的配置

    • 如果你有多个环境(如开发、测试和生产),你可以为每个环境定义特定的配置文件(如 application-dev.properties),并使用 spring.profiles.active 属性来激活相应的环境配置:
      spring.profiles.active=dev

示例

假设你有两个配置文件:application-common.propertiesapplication-dev.properties

  • application-common.properties 包含所有环境共有的设置。
  • application-dev.properties 包含开发环境特有的设置。

application.properties 中添加以下内容:

spring.profiles.include=common
spring.profiles.active=dev

这样,无论何时你以开发环境运行应用程序,都会同时加载 application-common.propertiesapplication-dev.properties

注意事项

  • 如果在多个配置文件中有相同的属性定义,那么后加载的配置文件中的值会覆盖先前的值。
  • 可以使用逗号分隔来指定多个要包含的配置文件名称,例如 spring.profiles.include=common,logging
  • spring.profiles.include 指定的配置文件总是先于 spring.profiles.active 指定的配置文件被加载。
  • 如果两个配置文件中有相同的属性,那么 spring.profiles.active 指定的配置文件中的值将覆盖 spring.profiles.include 指定的配置文件中的值。