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

相关推荐
追逐时光者2 小时前
一款使用 C# 编写专为 Windows 11 打造的文件资源管理器增强工具!
后端·.net
风象南3 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
皮皮林5514 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河5 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
JavaGuide7 小时前
7 道 RAG 基础概念知识点/面试题总结
前端·后端
桦说编程7 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
格砸8 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
蝎子莱莱爱打怪9 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
躺平大鹅9 小时前
Java面向对象入门(类与对象,新手秒懂)
java