配置文件
spring.profiles.include允许在应用启动时自动包含额外的配置文件。这在处理不同环境的共享配置或者模块化配置时特别有用。
如何使用 spring.profiles.include
-
定义配置文件:
- 在
src/main/resources目录下创建对应的配置文件。例如,如果你有一个名为common的配置集,可以创建一个名为application-common.properties或application-common.yml的文件。
- 在
-
启用自动包含:
- 在你的主配置文件(通常是
application.properties或application.yml)中添加如下属性:spring.profiles.include=common - 这条配置告诉 Spring Boot 在任何其他配置文件加载之前先加载
application-common.*文件中的配置。
- 在你的主配置文件(通常是
-
使用特定环境的配置:
- 如果你有多个环境(如开发、测试和生产),你可以为每个环境定义特定的配置文件(如
application-dev.properties),并使用spring.profiles.active属性来激活相应的环境配置:spring.profiles.active=dev
- 如果你有多个环境(如开发、测试和生产),你可以为每个环境定义特定的配置文件(如
示例
假设你有两个配置文件:application-common.properties 和 application-dev.properties。
application-common.properties包含所有环境共有的设置。application-dev.properties包含开发环境特有的设置。
在 application.properties 中添加以下内容:
spring.profiles.include=common
spring.profiles.active=dev
这样,无论何时你以开发环境运行应用程序,都会同时加载 application-common.properties 和 application-dev.properties。
注意事项
- 如果在多个配置文件中有相同的属性定义,那么后加载的配置文件中的值会覆盖先前的值。
- 可以使用逗号分隔来指定多个要包含的配置文件名称,例如
spring.profiles.include=common,logging
spring.profiles.include指定的配置文件总是先于spring.profiles.active指定的配置文件被加载。- 如果两个配置文件中有相同的属性,那么
spring.profiles.active指定的配置文件中的值将覆盖spring.profiles.include指定的配置文件中的值。