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

相关推荐
刘大猫.19 小时前
java工具:《返回字符串非零的最后一个层级》
java·字符串·java字符串·返回非零层级·解析字符串
左左右右左右摇晃19 小时前
Java笔记 —— 值传递与“引用传递”
java·开发语言·笔记
编码忘我19 小时前
redis分布式锁
后端
2301_7926748619 小时前
java学习day22
java
程序员爱钓鱼19 小时前
Go输出与格式化核心库:fmt包完整指南
后端·面试·go
于慨19 小时前
spring boot
java·数据库·spring boot
lars_lhuan19 小时前
Go map 与并发
后端·golang
always_TT19 小时前
static关键字初探
java·开发语言
Lewiis19 小时前
Go语言的错误处理机制
开发语言·后端·golang
降临-max19 小时前
IDEA常用git操作
java·github·intellij-idea