当前位置: 首页 > news >正文

03_spring配置优先级

文章目录

    • 一、配置优先级从高到低排序
      • 1. 命令行参数(--key=value)
      • 2‌. Java系统属性(-D参数)
      • 3‌. 操作系统环境变量
      • 4. 外部配置文件(JAR包外部)
      • 5‌. JAR包内部配置文件
      • 6. Profile-specific配置
      • 7‌. @PropertySource注解
      • 8‌. 默认属性
    • 二、特殊场景说明
    • 三、最佳实践建议

Spring Boot的配置和变量加载遵循明确的优先级规则,以下是综合多个来源的详细解析:

一、配置优先级从高到低排序

1. 命令行参数(–key=value)

通过--key=value形式传递,直接覆盖其他配置(如java -jar app.jar --server.port=8081)。

2‌. Java系统属性(-D参数)

通过JVM参数设置(如java -Dserver.port=8081 -jar app.jar)。

3‌. 操作系统环境变量

通过系统变量设置(如export SERVER_PORT=8081)。

4. 外部配置文件(JAR包外部)

  • 目录优先级‌:/config/(JAR包同级) > 项目根目录 > classpath:/config/ > classpath:/
  • 文件类型优先级‌:.properties > .yml > .yaml

5‌. JAR包内部配置文件

位于src/main/resources下的application.propertiesapplication.yml

6. Profile-specific配置

application-{profile}.properties,需通过spring.profiles.active激活。

7‌. @PropertySource注解

显式加载的配置文件,优先级低于默认配置。

8‌. 默认属性

通过SpringApplication.setDefaultProperties()设置。

二、特殊场景说明

  • 微服务项目‌:bootstrap.yml优先级高于application.yml,常用于Spring Cloud配置。
  • 相同目录下的文件冲突‌:.properties会覆盖同名的.yml文件。
  • 随机值属性‌:如random.*,优先级低于环境变量但高于默认配置。

三、最佳实践建议

  • 动态调整‌:生产环境推荐使用命令行参数或环境变量覆盖静态配置。
  • 版本兼容性‌:Spring Boot 3.x以上版本严格遵循优先级规则,低版本可能存在差异。

相关文章:

  • 【人工智能】释放本地AI潜能:LM Studio用户脚本自动化DeepSeek的实战指南
  • uniapp 实现低功耗蓝牙连接并读写数据实战指南
  • 【Fifty Project - D21】
  • 阿里云服务器技术纵览:从底层架构到行业赋能​
  • 海外社交软件开发实战:从架构设计到合规落地的技术解析
  • 【数学建模国奖速成系列】优秀论文绘图复现代码(四)
  • C++漫游指南——字符串篇与内存分配篇
  • XML文件中`<![CDATA[...]]>` 的写法
  • 第五届图像、视觉与智能系统国际会议(ICIVIS 2025)参会通知
  • 【每日八股】复习 Redis Day3:Redis 的应用
  • 数据结构篇:线性表的另一表达—链表之单链表(下篇)
  • canvas动画:点随机运动 距离内自动连接成线 鼠标移动自动吸附附近的点
  • 销售与金融领域的数据处理与分析方法
  • 大连理工大学选修课——机器学习笔记(3):KNN原理及应用
  • 机器学习实操 第一部分 机器学习基础 第7章 集成学习与随机森林
  • 股指期货贴水对对冲的影响大吗?
  • Python实例题:Python实现简易局域网视频聊天工具
  • LeetCode算法题 (除自身以外数组的乘积)Day14!!!C/C++
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(12): ておき ます
  • 网页出现502的报错是什么意思?
  • 神十九都带回了哪些实验样品?果蝇等生命类样品已交付科学家
  • 武汉楼市新政:二孩、三孩家庭购买新房可分别享受6万元、12万元购房补贴
  • 国有六大行一季度合计净赚超3444亿,不良贷款余额均上升
  • 商务部新闻发言人就波音公司飞回拟交付飞机答记者问
  • 科学时代重读“老子”的意义——对谈《老子智慧八十一讲》
  • IPO周报|4月最后2只新股周一申购,今年以来最低价股来了