Spring Boot 的配置加载顺序

Spring Boot 的配置加载顺序是"后来居上"------优先级高的配置源会覆盖优先级低的配置源中的同名配置

覆盖规则如下:

  • 后加载的配置具有更高的优先级,会覆盖先加载的配置。
  • 如果多个配置源中存在同名配置项,最终生效的是具有最高优先级的那个配置项。

举个实际例子

假设有以下两个配置源

java 复制代码
***:
  ad:
    rocketmq:
      name-server: 127.0.0.1:9876  # 默认配置
java 复制代码
# 设置环境变量
export ITBOX_AD_ROCKETMQ_NAME_SERVER=10.10.20.46:9876

最终生效的 itbox.ad.rocketmq.name-server 是环境变量的值:10.10.20.46:9876

线上部署场景,假设激活了 kubernetes Profile,加载顺序和覆盖逻辑如下 :

相关推荐
一粒沙白猫几秒前
Java综合练习04
java·开发语言·算法
凌辰揽月8 分钟前
8分钟讲完 Tomcat架构及工作原理
java·架构·tomcat
笑醉踏歌行14 分钟前
idea应用代码配色网站
java·ide·intellij-idea
一入JAVA毁终身16 分钟前
处理Lombok的一个小BUG
java·开发语言·bug
gjh120828 分钟前
Easy-excel监听器中对批量上传的工单做错误收集
java·spring boot
红衣女妖仙31 分钟前
JXLS 库导出复杂 Excel
java·excel·jxls·java 导出 excel
绝无仅有36 分钟前
对接三方SDK开发过程中的问题排查与解决
后端·面试·架构
Hellyc38 分钟前
JAVA八股文:异常有哪些种类,可以举几个例子吗?Throwable类有哪些常见方法?
java·开发语言
西岭千秋雪_1 小时前
Redis缓存架构实战
java·redis·笔记·学习·缓存·架构
五岳1 小时前
深入研究使用DozerMapper复制List<Ojbect>前后元素类型不一致的问题
java·爬坑