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,加载顺序和覆盖逻辑如下 :

相关推荐
songx_994 分钟前
leetcode(填充每个节点的下一个右侧节点指针 II)
java·数据结构·算法·leetcode
chenyuhao20246 分钟前
vector深度求索(上)实用篇
开发语言·数据结构·c++·后端·算法·类和对象
程序新视界34 分钟前
MySQL中的数据去重,该用DISTINCT还是GROUP BY?
数据库·后端·mysql
花心蝴蝶.1 小时前
JVM 内存结构
java·开发语言·jvm
lichong9511 小时前
【大前端++】Android studio Log日志高对比度配色方案
android·java·前端·json·android studio·大前端·大前端++
豌豆花下猫1 小时前
Python 潮流周刊#121:工程师如何做出高效决策?
后端·python·ai
97zz1 小时前
实战排查:Java 解析 Excel 大型 导致内存溢出问题的完整解决过程
java·开发语言·spring boot·excel
没头脑的男大1 小时前
如何把pdf转换的excell多个表格合并
java·前端·pdf
懒惰蜗牛2 小时前
Day24 | Java泛型通配符与边界解析
java·后端·java-ee
HezhezhiyuLe2 小时前
MAC idea 环境变量设置失效
java·macos·intellij-idea