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初学者小白10 分钟前
秋招Day18 - MyBatis - 基础
java·数据库·mybatis
大白玉米11 分钟前
TVBOXOS6.0双端APP二开源码完整版全开源源码重构版
java·重构·php
苹果醋311 分钟前
iview中实现点击表格单元格完成编辑和查看(span和input切换)
运维·vue.js·spring boot·nginx·课程设计
武昌库里写JAVA14 分钟前
iView Table组件二次封装
vue.js·spring boot·毕业设计·layui·课程设计
Dcs28 分钟前
Cisco爆出重大漏洞!无需登录即可获取Root权限,攻击者已在野利用!
java
青云交37 分钟前
Java 大视界 -- 基于 Java 的大数据分布式存储在工业互联网数据管理与边缘计算协同中的创新实践(364)
java·大数据·边缘计算·工业互联网·分布式存储·paxos·数据协同
豌豆花下猫37 分钟前
Python 潮流周刊#112:欢迎 AI 时代的编程新人
后端·python·ai
Electrolux1 小时前
你敢信,不会点算法没准你赛尔号都玩不明白
前端·后端·算法
oioihoii1 小时前
C++实战案例:从static成员到线程安全的单例模式
java·c++·单例模式
whhhhhhhhhw1 小时前
Go语言-fmt包中Print、Println与Printf的区别
开发语言·后端·golang