1.配置文件优先级
参考
Springboot的配置文件及其优先级_springboot配置文件优先级-CSDN博客
2.配置文件结构调整
Spring Boot 支持通过 application-{profile}.properties/yaml
的命名方式定义不同环境的配置文件,其中 {profile}
为环境标识(如 dev
、prod
、test
等)。常见的配置文件包括:
- 默认配置文件(所有环境通用):
application.properties
或application.yml
定义各环境共享的通用配置(如日志级别、基础依赖配置等)。
- 环境特定配置文件:
- 开发环境:
application-dev.properties
或application-dev.yml
- 生产环境:
application-prod.properties
或application-prod.yml
- 测试环境:
application-test.properties
或application-test.yml
- 开发环境:
通过 spring.profiles.active
指定激活环境
在 默认配置文件(application.yml
或 application.properties
)中,通过 spring.profiles.active
配置项指定当前激活的环境。
在 Spring Boot 里,配置文件存在层次化的属性配置机制,可借助多个配置文件覆盖属性值,像 application.properties 、 application-dev.properties 和 application-prod.properties 等 3。当设置 spring.profiles.active=dev 时,Spring Boot 会先加载 application.properties 文件,再加载 application-dev.properties 文件,并且 application-dev.properties 里的配置会覆盖 application.properties 中同名的配置项。
所以,如果 application-dev.properties 文件里也定义了 server.port 属性,那么它会覆盖 application.properties 里的 server.port 值。对于其他配置项也是同理,只要 application-dev.properties 存在同名配置,就会覆盖 application.properties 中的对应配置;若不存在同名配置,则保留 application.properties 里的原有配置。