说说 Spring Boot 属性配置源的加载顺序
Spring Boot 会按照下列优先级顺序,加载配置信息。
- 命令行参数
- java:comp/env 里的 JNDI 属性
- JVM 系统属性
- 操作系统环境变量
- 随机生成的带 random.* 前缀的属性(在设置其他属性时,可以引用它们,比如 ${random.long} )
- 应用程序以外的 application.properties 或者 appliaction.yml 文件
- 打包在应用程序内的 application.properties 或者 appliaction.yml 文件
- 通过 @PropertySource 标注的属性配置源
- 默认属性
其中的 application.properties 或 application.yml 配置文件可以放在以下这四个位置:
- 外置,在相对于应用程序运行目录的 /config 子目录中。
- 外置,在应用程序运行的目录中。
- 内置,在 config 包内。
- 内置,在 Classpath 根目录中。