文章目录
1.基本介绍
SpringBoot提供了丰富的外部配置,常见的有:
- 核心配置文件
- application.properties
- application.yml
- 命令行参数
- OS环境变量
- Dev属性
Spring Boot 官方提供了两种常用的核心配置文件格式,分别是properties、YML格式。相比于properties来说,yml更加年轻,层级也是更加分明。
2.配置文件加载机制
2.1 SpringBoot 2.4.0版本之前版本
在 2.4.0 之前,SpringBoot 官方是这样定义的:通过 PropertySource 来保证属性的覆盖,属性的顺序如下:
1. 启用 devtools 时 $HOME/.config/spring-boot 路径下的配置
2. test 模块下 @TestPropertySource 注解引入的配置文件
3. test 模块下的 properties 属性
4. 命令行参数
5. SPRING_APPLICATION_JSON 属性
6. ServletConfig 的初始化参数
7. ServletContext 的初始化参数
8. JNDI 属性
9. Java System properties
10. OS environment variables
11. 对于 random.* 形式的属性,优先从 RandomValuePropertySource 获取(指优先于后者)
12. jar 包外的 application-{profile}.properties/yaml 配置文件
13. jar