SpringBoot 配置文件加载优先级

🎀前言


最近在使用k8s部署项目的时候,发现Dockerfile文件中的命令后面跟的参数,无法覆盖nacos中的参数,今天有时间正好来整理一下Springboot配置的加载顺序

🎁SpringBoot 配置文件加载优先级


整理加载顺序第一个肯定看官方文档:https://docs.spring.io/spring-boot/docs/2.2.9.RELEASE/reference/htmlsingle/#boot-features-external-config
看不懂我们直接用翻译软件翻译一下

在这里插入图片描述
这里我们只对比常用的几个地方的配置优先级:

命令行参数
JAR包外面的 application-{profile}.properties
JAR包外的 application.properties
JAR包内的 application.properties

而且有的项目会将 application.properties 文件放在config文件夹内,于是进一步对比了这两个位置的优先级,结果如下

. project-sample  
├── config  
│   ├── application.yml (4)  
│   └── src/main/resources  
|   │   ├── application.yml (1)  
|   │   └── config  
|   |   │   ├── application.yml (2)  
├── application.yml (3)  
  
注:src/main/resources下的配置文件在项目编译时,会放在target/classes下  

启动时加载配置文件顺序:1 -> 2 -> 3 -> 4,优先级 4 > 3 > 2 > 1

注意:

  • 如果在IDEA中是多 module 项目,3 和 4 的位置是指的是项目根目录下的位置
  • 当 .properties 和 .yml 文件同时存在时,.properties会失效,.yml会起作用。

nacos上的配置 > 命令行配置 > system env > classpath:application.yml > classpath:bootstrap.yml

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值