当前位置: 首页 > news >正文

SpringBoot 配置文件加载优先级

SpringBoot 配置文件加载优先级

  • 前言
    • 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

相关文章:

  • Linux网络配置
  • MySQL之CRUD、常见函数及union查询
  • 基于博弈树的开源五子棋AI教程[3 极大极小搜索]
  • Vulnhub-GoldenEye
  • Spring MVC自定义类型转换器!!!
  • DEJA_VU3D - Cesium功能集 之 113-获取圆节点(2)
  • mysql8.0 1055报错问题 [安装包]安装修改
  • 数据库开发与设计过程中的问题分析总结
  • 免费简单好用的 webshell 在线检测:支持 php、jsp、asp等多格式文件
  • 安全防御之密码技术
  • 【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target
  • vue实现小球掉落
  • 【Git】查看凭据管理器的账号信息,并删除账号,解决首次认证登录失败后无法重新登录的问题
  • 网络传输(TCP)
  • 微信小程序:flex常用布局
  • Windows pip install -r requirement.txt 太慢
  • 【grpc】利用protobuf实现java或kotlin调用python脚本,含实现过程和全部代码
  • MongoDB索引详解
  • 【C】void指针(通用指针)
  • 蚁群算法解决旅行商问题的完整Python实现
  • 特朗普公开“怼”库克:苹果不应在印度生产手机
  • 恒生银行回应裁员传闻:受影响的员工数目占银行核心业务员工总数约1%
  • 百色一女子称家委会强制排班被迫抱婴儿校门口站岗?区教育局:自愿参与
  • 远如《月球背面》,近似你我内心
  • 颜福庆与顾临的争论:1930年代在中国维持一家医学院要花多少钱
  • 比特币挖矿公司GRYP股价涨超171%:将与特朗普儿子创设的公司合并