Spring Boot 加载配置文件的优先级是根据不同的位置和命名规则来确定的。下面按照优先级从高到低的顺序来介绍:
--spring.config.name
和--spring.config.location
参数可以指定配置文件的名称和位置。
SPRING_
开头的变量转换为配置属性。例如,将SPRING_APPLICATION_NAME
设置为myapp
,则可以在配置文件中使用${spring.application.name}
来引用该值。
-D
参数或者--spring.config.name
和--spring.config.location
参数来指定配置文件的名称和位置。
config
文件夹,Spring Boot 会加载该文件夹下的application.properties
或application.yml
文件。
application.properties
或application.yml
文件,Spring Boot 会加载该文件。
application-{profile}.properties
或application-{profile}.yml
文件。
config
文件夹,Spring Boot 会加载该文件夹下的application-{profile}.properties
或application-{profile}.yml
文件。
config
文件夹,Spring Boot 会加载该文件夹下的application.properties
或application.yml
文件。
需要注意的是,Spring Boot 会按照上述顺序加载配置文件,后面加载的配置会覆盖前面加载的配置。因此,如果存在多个配置文件,可以通过优先级来控制配置的加载顺序。
另外,Spring Boot 还支持使用@PropertySource
注解来加载自定义的配置文件,可以通过value
属性指定配置文件的路径。这种方式的优先级介于 jar 包内部和 jar 包外部的配置文件之间。
总结起来,Spring Boot 加载配置文件的优先级从高到低依次为:命令行参数 > 操作系统环境变量 > 命令行属性 > jar 包外部的配置文件 > jar 包内部的配置文件 > jar 包外部的 profile 配置文件 > jar 包内部的 profile 配置文件。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有