前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Springboot的配置文件加载顺序及覆盖问题

Springboot的配置文件加载顺序及覆盖问题

原创
作者头像
在下是首席架构师
发布2022-08-18 20:38:56
2.7K0
发布2022-08-18 20:38:56
举报
文章被收录于专栏:从入门到出门从入门到出门

SpringBoot启动会扫描以下位置的application.yml或者 application.properties文件作为SpringBoot的默认配置文件。

-file:./config/

-file:./

-classpath:/config/

-classpath:/

即根目录下的config目录下,然后是 根目录下,然后是classpath路径下的config目录下,最后是classpath路径下。

优先级由高到低,高优先级的配置会覆盖低优先级的配置。

eg.假如:根目录下的config目录下定义端口为8084, 根目录下定义端口为8083 ,classpath路径下的config目录定义端口为8082,classpath路径下定义端口为8081,最后启动,启动的端口为8084 ,高优先级会覆盖低优先级。

注意: 并不是高优先级的被加载了,低优先级的就不会再加载,实际上是SpringBoot会从这四个位置全部加载主配置文件,并且还能产生互相配置的效果。

写在最后:

当同一个目录下同时存在properties和yml文件时,会优先加载properties文件里的内容,两个文件中的内容会进行互补操作,即SpringBoot会读取两份文件中的所有内容,会加载所有不同的配置项,汇成一个总的配置,如果同一个配置两个文件中都存在,那么properties中的配置会被加载,而忽略yml文件中的配置。

eg: 在springBoot的resources目录下同时存在application.properties和application.yml,并且文件内容分别如下:

具体完整的顺序参考Springboot官方链接。传送门

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档