Spring Boot不同配置文件名和配置文件所在路径的优先级

本文详细解释了SpringBoot项目中配置文件(如application.properties,application.yml,bootstrap.yml)的加载顺序、覆盖规则以及资源目录的优先级。配置中心的配置通常会覆盖其他环境和应用自身的配置文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置文件在同路径下

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目录下”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值