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

相关推荐
80530单词突击赢5 分钟前
C++关联容器深度解析:set/map全攻略
java·数据结构·算法
兩尛12 分钟前
c++知识点1
java·开发语言·c++
ONE_PUNCH_Ge13 分钟前
Go 语言泛型
开发语言·后端·golang
东东51614 分钟前
果园预售系统的设计与实现spingboot+vue
前端·javascript·vue.js·spring boot·个人开发
舟舟亢亢15 分钟前
JVM复习笔记——下
java·jvm·笔记
rainbow688916 分钟前
Python学生管理系统:JSON持久化实战
java·前端·python
良许Linux27 分钟前
DSP的选型和应用
后端·stm32·单片机·程序员·嵌入式
有味道的男人29 分钟前
1688获得商品类目调取商品榜单
java·前端·spring
独自破碎E33 分钟前
【中心扩展法】LCR_020_回文子串
java·开发语言