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

相关推荐
咖啡八杯3 小时前
GoF设计模式——策略模式
java·后端·spring·设计模式
lizhongxuan4 小时前
AI Agent 上下文压缩利器 Headroom
后端
Csvn6 小时前
SSH 远程管理与安全加固 — 运维的守门之道
后端
IT_陈寒6 小时前
Python搞不定字符串编码?这破玩意坑我两小时!
前端·人工智能·后端
菜鸟谢7 小时前
Rust 智能指针完整详解
后端
java小白小8 小时前
SpringBoot(01): 初识SpringBoot,从Spring的痛点说起
spring boot
菜鸟谢8 小时前
Rust 函数完整知识点详解
后端
爱勇宝8 小时前
淡泊名利之前,先承认我们都很焦虑
前端·后端·程序员
菜鸟谢8 小时前
Rust 闭包(Closure)完整详解
后端
ServBay8 小时前
如何利用本地技术栈构建 0 成本 AI SaaS 雏形
后端·aigc·ai编程