Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【面试题精讲】说一说springboot加载配置文件优先级

【面试题精讲】说一说springboot加载配置文件优先级

作者头像
程序员朱永胜
发布于 2023-09-21 00:38:24
发布于 2023-09-21 00:38:24
5160
举报

Spring Boot 加载配置文件的优先级是根据不同的位置和命名规则来确定的。下面按照优先级从高到低的顺序来介绍:

  1. 命令行参数:通过命令行参数指定的配置会覆盖其他配置。例如,使用--spring.config.name--spring.config.location参数可以指定配置文件的名称和位置。
  2. 操作系统环境变量:Spring Boot 会自动将操作系统环境变量中以SPRING_开头的变量转换为配置属性。例如,将SPRING_APPLICATION_NAME设置为myapp,则可以在配置文件中使用${spring.application.name}来引用该值。
  3. 命令行属性:可以通过-D参数或者--spring.config.name--spring.config.location参数来指定配置文件的名称和位置。
  4. jar 包外部的 application.properties 或 application.yml:如果存在config文件夹,Spring Boot 会加载该文件夹下的application.propertiesapplication.yml文件。
  5. jar 包内部的 application.properties 或 application.yml:如果 jar 包内部存在application.propertiesapplication.yml文件,Spring Boot 会加载该文件。
  6. jar 包内部的 application-{profile}.properties 或 application-{profile}.yml:如果指定了激活的 profile,Spring Boot 会加载对应的application-{profile}.propertiesapplication-{profile}.yml文件。
  7. jar 包外部的 application-{profile}.properties 或 application-{profile}.yml:如果存在config文件夹,Spring Boot 会加载该文件夹下的application-{profile}.propertiesapplication-{profile}.yml文件。
  8. jar 包外部的 application.properties 或 application.yml:如果存在config文件夹,Spring Boot 会加载该文件夹下的application.propertiesapplication.yml文件。

需要注意的是,Spring Boot 会按照上述顺序加载配置文件,后面加载的配置会覆盖前面加载的配置。因此,如果存在多个配置文件,可以通过优先级来控制配置的加载顺序。

另外,Spring Boot 还支持使用@PropertySource注解来加载自定义的配置文件,可以通过value属性指定配置文件的路径。这种方式的优先级介于 jar 包内部和 jar 包外部的配置文件之间。

总结起来,Spring Boot 加载配置文件的优先级从高到低依次为:命令行参数 > 操作系统环境变量 > 命令行属性 > jar 包外部的配置文件 > jar 包内部的配置文件 > jar 包外部的 profile 配置文件 > jar 包内部的 profile 配置文件。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SpringBoot入门建站全系列(二十三)配置文件优先级及常用配置方式
Spring Boot使用一种非常特殊的PropertySource顺序,旨在允许合理地覆盖值。按以下顺序考虑属性(优先级从高到低):
品茗IT
2019/09/12
9860
SpringBoot配置文件高级用法实战
Spring Boot配置文件的优先级是一个重要的概念,它决定了当存在多个配置文件时,哪个配置文件中的配置将被优先采用。
公众号:码到三十五
2024/08/06
2240
SpringBoot配置文件高级用法实战
SpringBoot2.x基础篇:配置文件的加载顺序以及优先级覆盖
SpringBoot约定了配置文件,默认为application.properties,通过该文件可以修改很多默认的配置,当然我们还可以在该配置文件内添加自定义的配置,该文件通过key=value的形式进行配置。
恒宇少年
2020/03/24
13.6K0
SpringBoot2.x基础篇:配置文件的加载顺序以及优先级覆盖
【Spring Boot】006-多环境配置及配置文件位置
我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml , 用来指定多个环境版本;
訾博ZiBo
2025/01/06
1270
【Spring Boot】006-多环境配置及配置文件位置
Spring Boot 2.0.0参考手册_中英文对照_Part IV_24
文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书
Tyan
2022/05/09
1.3K0
【小家Spring】一篇文章彻底搞懂Spring Boot配置文件的加载顺序(项目内部配置和外部配置)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
YourBatman
2019/09/03
9.9K2
【小家Spring】一篇文章彻底搞懂Spring Boot配置文件的加载顺序(项目内部配置和外部配置)
springboot配置文件加载顺序
SpringApplication loads properties from application.properties files in the following locations and adds them to the Spring Environment:
六月的雨在Tencent
2024/03/28
3310
SpringBoot——配置文件详解【五】
配置文件的作用: 修改SpringBoot的自动配置的默认值,SpringBoot在底层都给我们自动配置好;
思索
2024/08/16
930
SpringBoot——配置文件详解【五】
Spring Boot从零入门7_最新配置文件配置及优先级详细介绍
本文属于原创,转载注明出处,欢迎关注微信小程序小白AI博客 微信公众号小白AI或者网站 https://xiaobaiai.net 或者我的CSDN http://blog.csdn.net/freeape
别打名名
2019/12/23
9170
SpringBoot系列之外部配置用法简介
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
SmileNicky
2019/11/12
6050
Spring Boot 2.0.0参考手册_中文版_Part IV_24
文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书
Tyan
2022/05/09
1.2K0
SpringBoot配置文件详解
配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;
别团等shy哥发育
2023/02/25
6090
SpringBoot配置文件详解
Spring Boot启动方式与部署
Spring Boot为我们提供很多便捷的启动和配置方式。本文就来好好说一下这两方面。
迹_Jason
2019/05/28
3.5K0
重学SpringBoot3-配置优先级详解
Spring Boot 的核心设计之一是“约定优于配置”(Convention Over Configuration),这使得它能够根据默认值和用户提供的配置快速启动应用程序。然而,在实际开发中,应用的配置可能来自多个来源。理解这些配置来源的优先级非常重要,以便在配置冲突时确保程序按预期运行。
CoderJia
2024/11/17
6070
重学SpringBoot3-配置优先级详解
微服务架构学习Day01-SpringBoot入门
激活指定Profile: 1.在主配置文件application.properties中指定激活:
攻城狮Chova
2022/01/22
2850
Springboot配置文件优先级解析
本文探讨了Spring Boot配置文件的优先级解析,详细介绍了在不同场景下,Spring Boot应用程序如何处理多个配置文件中的属性值。通过解析配置文件的优先级,读者可以更好地理解Spring Boot应用程序的配置加载过程,以及如何在不同环境中正确配置应用程序。
猫头虎
2024/04/07
2230
Springboot配置文件优先级解析
配置文件优先级解读
SpringBoot除了支持properties格式的配置文件,还支持另外两种格式的配置文件。三种配置文件格式分别如下:
一个风轻云淡
2023/09/22
5320
SpringBoot基础(二):配置文件详解
冬天vs不冷
2025/01/21
2080
SpringBoot基础(二):配置文件详解
这可能是把SpringBoot配置文件讲解的最详细的文章了
SpringBoot使用一个全局的配置文件,配置文件名是固定的,配置文件主要分为以下两种
Java编程指南
2020/07/24
2.6K0
这可能是把SpringBoot配置文件讲解的最详细的文章了
程序员的30大SpringBoot面试问题及答案
通过Spring Boot,可以轻松地创建独立的,基于生产级别的Spring的应用程序,您可以“运行”它们。大多数Spring Boot应用程序需要最少的Spring配置。
鱼找水需要时间
2023/12/27
4010
推荐阅读
相关推荐
SpringBoot入门建站全系列(二十三)配置文件优先级及常用配置方式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档