Spring配置文件加载顺序(spring是如何加载配置的)

spring配置文件包含两种:

application和bootstrap

  • application用于spring的自动化配置
  • bootstrap: 使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;

配置文件的格式有.properties和.yml两种.

注: .yml 格式不支持 @PropertySource 注解导入配置

springboot启动的时候会扫描配置文件进行参数或者自动化配置, 那么读取配置文件位置的顺序是:

  1. bootstrap文件始终是优先级最高的
  2. config/application.properties(项目根目录中config目录下)
  3. config/application.yml
  4. application.properties(项目根目录下)
  5. application.yml
  6. resources/config/application.properties(项目resources目录中config目录下)
  7. resources/config/application.yml
  8. resources/application.properties(项目的resources目录下)
  9. resources/application.yml

注:

  1. 如果有相同的配置, 则会覆盖, 否则互补
  2. 可以定义环境变量spring.config.location来改变默认的配置文件位置