SpringBoot配置文件优先级及踩坑

优先级顺序

  1. 当前目录下的/config子目录
  2. 当前目录
  3. classpath:/config/ (项目resources/config下)
  4. classpath:/(项目resources根目录)

验证

第四种情况image-20210729233722095

第一种情况:image-20210729234008203

很明显是按照上文所说的优先级加载的

加入第一种优先级的配置文件缺少一些属性,那该去哪里读取呢?同日常我们配置的application.yml、application-dev.yml这些一样,dev找不到就去application.yml找,/config中缺少的也会按照优先级一层一层往下寻找。

image-20210729234418498

我在/config路径下的配置文件没有age这个属性,所以它按照优先级一层一层去寻找,在classpath下找到age=13的属性,可以参考上面几张图对比。

Q.E.D.


一个热爱生活的95后精神小伙