Spring Boot 配置文件生效规则

Spring Boot 配置文件生效规则

本文档整理了 Spring Boot 配置文件的加载顺序与优先级规则,包括项目内、项目外及多环境配置的管理方式。

1. 通用优先级规则(从高到低)

Spring Boot 中,配置优先级顺序如下(高优先级会覆盖低优先级):

  1. 命令行参数 :--server.port=8081
  2. JNDI属性 :来自 java:comp/env
  3. Java系统属性 :-Dserver.port=8081
  4. 操作系统环境变量
  5. 配置文件 (application.properties / application.yml),按以下位置顺序加载:
    • 当前目录下的 /config 子目录
    • 当前目录
    • classpath 下的 /config 包
    • classpath 根路径
  6. Profile 专用文件 :application-{profile}.properties/yml
  7. 默认属性 :SpringApplication.setDefaultProperties

2. 项目外配置文件规则

适用场景:不重新打包 JAR 的情况下修改配置。

优先级顺序(从高到低)

优先级 位置(相对于 JAR 包运行目录) 说明
最高 ./config/ JAR 同级目录下的 config 文件夹,推荐生产环境使用
高 ./ JAR 同级目录
低 classpath:/config/ JAR 包内部 config 包(即 resources/config)
最低 classpath:/ JAR 包内部根路径(即 resources 根目录)

高优先级配置会覆盖低优先级配置,不同位置配置互补合并。

完全自定义配置文件位置

使用 --spring.config.location 强制指定外部配置目录(此时内部配置不再生效):

bash 复制代码
java -jar my-app.jar --spring.config.location=file:/绝对路径/配置文件夹/application.properties
相关推荐
tachibana23 小时前
Golang 中数组和切片的区别?
开发语言·后端·golang·数组·切片
RuoyiOffice3 小时前
SpringBoot+Vue3+Onlyoffice 企业文件生命周期:上传、业务关联、权限、版本与安全清理
spring boot·vue3·文件管理·对象存储·权限控制·ruoyi office·附件管理
我是人✓3 小时前
Spring IOC注解全解析和Spring整合测试单元
java·后端·spring
阿狗童鞋4 小时前
高并发系统设计实战指南
java·spring boot·spring cloud
Sam_Deep_Thinking4 小时前
CountDownLatch实现原理
java·后端·面试·程序员
高频因子挖掘机4 小时前
量化回测前的数据审计:如何判断股票历史行情是否缺失、重复或存在偏差
后端·github·api
mldong4 小时前
审批流程图上那些亮着的线,数据库里一条都没存:jeeflow 工作流引擎的高亮是重算出来的
后端·架构
geovindu5 小时前
rust: Borg Pattern(续)
开发语言·后端·设计模式·rust·博格模式
苍何13 小时前
开源微信流 Windows,微信聊天记录,可以直接给 Codex 和 Obsidan 了
后端