配置文件在同路径下
application.properties 覆盖 application.yml 覆盖 bootstrap.yml
当resource/config和resource目录有相同的配置文件
resource/config下同名配置文件 覆盖 resource下同名配置文件
当resource/config路径下只有application.yml,而resource路径有
application.properties和application.ymlapplication.properties 覆盖 application.yml 覆盖 bootstrap.yml
当application.yml指向application-dev.yml的多环境配置文件
application-dev.yml 覆盖 application.properties 覆盖 application.yml 覆盖 bootstrap.yml
当使用配置中心config服务时
指向的配置中心配置文件 覆盖 所有服务自身配置文件
总结
不论配置文件所处路径永远存在一种压制关系
config配置中心配置 覆盖 application-dev.yml 覆盖 application.properties 覆盖 application.yml 覆盖 bootstrap.yml
resource/config会覆盖resource下的同名配置文件
config配置中心的配置文件高于一切
如果在不同的目录中存在多个配置文件
它的读取顺序是:
1.config/application.properties(项目根目录中config目录下)
2.config/application.yml
3.application.properties(项目根目录下)
4.application.yml
5.resources/config/application.properties(项目resources目录中config目录下)
6.resources/config/application.yml
7.resources/application.properties(项目的resources目录下)
8.resources/application.yml
注:
1.如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。
2.如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。
3.创建SpringBoot项目时,一般的配置文件放置在“项目的resources目录下”