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

相关推荐
[email protected]3 分钟前
ASP.NET Core SignalR - 部分客户端消息发送
后端·asp.net·.netcore
寻月隐君3 分钟前
深入解析 Rust 的面向对象编程:特性、实现与设计模式
后端·rust·github
李少兄4 分钟前
解决 idea提示`SQL dialect is not configured` 问题
java·sql·intellij-idea
追逐时光者7 分钟前
免费且全面的C#/.NET/.NET Core面试宝典,阅读量突破40万+了!
后端·.net
BreezeDove9 分钟前
IDEA安装&迁移IDEA配置数据位置
java·ide·intellij-idea
太阳之神aboluo14 分钟前
压测软件-Jmeter
java·运维·jmeter
编程乐学(Arfan开发工程师)26 分钟前
42、响应处理-【源码分析】-浏览器与PostMan内容协商完全适配
java·spring boot·后端·测试工具·lua·postman
汪子熙31 分钟前
深入解析互斥锁(Mutex):并发编程中的关键同步机制
后端·面试
Livingbody31 分钟前
mac系统下永久设置环境变量之【huggingface更换镜像站】
后端
Livingbody31 分钟前
Transformers Pipeline 文本情感分类
后端