Springboot配置文件加载顺序

2025博客之星年度评选已开启 10w+人浏览 1.7k人参与

springboot项目配置文件加载顺序

​ 在 Spring Boot 项目中,配置文件的读取顺序决定了配置的优先级后加载的配置会覆盖先加载的同属性配置)。Spring Boot 支持多种配置源(如 properties、yaml、环境变量、命令行参数等),核心配置文件(application.properties/application.yml)的读取顺序遵循从低优先级到高优先级的规则,同时还会结合外部配置源的优先级。

一 配置文件加载顺序

  1. 项目根目录下的config子目录(./config/
    • 优先级:最高
    • 路径:项目根目录/config/application.properties
  2. 项目根目录(./
    • 路径:项目根目录/application.properties
  3. classpath 下的config目录(classpath:/config/
    • 路径:src/main/resources/config/application.properties
  4. classpath 根目录(classpath:/
    • 优先级:最低(内置文件中)
    • 路径:src/main/resources/application.properties

注:如果是多环境配置(如application-dev.properties),激活的环境配置文件会覆盖主配置文件(application.properties)的同属性,且环境配置文件也遵循上述路径顺序。

二 配置文件类型的优先级(properties vs yaml

如果相同目录下同时存在application.propertiesapplication.yml

application.properties优先级高于application.yml,是因为properties 的加载优先级更高,若同属性存在,properties 会覆盖 yaml

三 特殊场景:Profile 配置的加载顺序

当使用多环境配置(如application-dev.ymlapplication-prod.yml)时,加载顺序为:

  1. 先加载主配置文件application.yml/application.properties)。
  2. 再加载激活的 Profile 配置文件(如application-dev.yml),后者覆盖前者的同属性。
  3. 如果激活多个 Profile(如spring.profiles.active=dev,test),则按从左到右的顺序加载,后面的 Profile 覆盖前面的。

总结

配置优先级的核心规则:外部配置 > 内置配置;Profile 配置 > 主配置;后加载的配置 > 先加载的配置;命令行参数 > 所有其他配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值