0

0

springboot怎么查找配置文件路径的顺序和其优先级别

WBOY

WBOY

发布时间:2023-05-26 08:58:18

|

2931人浏览过

|

来源于亿速云

转载

    查找配置文件路径的顺序和其优先级别

    一、springboot查找配置文件路径的顺序和其优先级别

    在项目类,有四个地方系统会自动扫描:

    1.file:/config/

    2.file:/

    3.classPath:/config/

    4.classPath:/

    1)其文件生效优先级别,从上到下,即如果在不同路径有相同属性,会优先选择上面的路径属性(1>2>3>4)

    2)路径扫描顺序和其优先级别相反(4>3>2>1),后面的会覆盖前面的,并且所有路径都会扫描,形成互补。

    二、同路径下

    application.properties(application.yml)、bootstrap.properties(bootstrap.yml)加载顺序及优先级别

    1.application和bootstrap比较(前缀比较)

    提示:bootstrap类型文件是在多服务项目时,引入了springcloud相关配置才会生效,springboot并不会自动扫描bootstrap文件,只会扫描application文件,所以两者的比较只有在spingcloud多服务项目中才有意义。

    1)先后加载顺序:若application 和bootstrap 在同一目录下:bootstrap先加载 application后加载

    Bootstrap 属性具有较高的优先级,在默认情况下,它们不会被本地配置所覆盖。(这个是网上和官方的说法,但经过本人的测试,发现application 会覆盖bootstrap,我的理解是不是所有的bootstrap属性都比application优先,只有涉及底层系统相关配置才会比较高 ,有不同看法的老哥欢迎探讨)

    3)区别:bootstrap 和 application 都可以用来配置参数。

    Bootstrap用于早期应用程序引导和配置信息读取。可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。一旦bootstrap被加载,则内容不会被覆盖。

    application.yml 可以用来定义应用级别的, 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。

    4)bootstrap典型的应用场景(经典三点)

    • 1.当使用 Spring Cloud Config Server 配置中心时,这时需要在 bootstrap.yml 指定 spring.applicatio配置文件中n.name 和 spring.cloud.config.server.git.uri,添加连接到配置中心的配置属性来加载外部配置中心的配置信息

    • 2.一些固定的不能被覆盖的属性

    • 3.一些加密/解密的场景

    2. .properties和.yml比较(后缀比较)

    1)加载顺序

    .yml先于.properties

    2)优先级别

    快剪辑
    快剪辑

    国内⼀体化视频⽣产平台

    下载

    .properties优先于.yml,因为.properties后加载会覆盖.yml

    3)区别

    • 1.yml拥有天然的树状结构,properties是键值对;

    • 2.在properties文件中是以”.”进行分割的, 在.yml中是用”:”进行分割;

    • 3.在.yml中缩进一定不能使用TAB,否则会报很奇怪的错误;;

    • 4.yml比.properties对中文对支持更友好。

    • 5.yml是跨语言的:可以在包括JAVA,go,python等大量的语言中使用,比如做云计算使用go和java的时候,可以通过配置中心使用同一份配置!

    • 6.在自定义配置文件时,只能使用properties,因为spring只有@PropertiesSource注解可以引入自定义注解,对yml没有支持

    小结:在同级目录下,优先级别application>bootstrap,.properties>,yml,前缀大于后缀,文件路径大于文件名称

    springboot配置文件不生效的原因

    1、将打包方式改为jar 。

    jar

    2、可能是yml文件缩近格式不对,仔细检查一下就行了。

    3、还有就是你的根本就不是boot项目,application.yml没有叶子标志

    1.点开项目结构

    springboot怎么查找配置文件路径的顺序和其优先级别

    2.打开模块一次点击

    springboot怎么查找配置文件路径的顺序和其优先级别

    3.

    springboot怎么查找配置文件路径的顺序和其优先级别

    4.重构项目

    springboot怎么查找配置文件路径的顺序和其优先级别

    相关专题

    更多
    C++ 单元测试与代码质量保障
    C++ 单元测试与代码质量保障

    本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

    3

    2026.01.16

    java数据库连接教程大全
    java数据库连接教程大全

    本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

    23

    2026.01.15

    Java音频处理教程汇总
    Java音频处理教程汇总

    本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

    7

    2026.01.15

    windows查看wifi密码教程大全
    windows查看wifi密码教程大全

    本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

    30

    2026.01.15

    浏览器缓存清理方法汇总
    浏览器缓存清理方法汇总

    本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

    2

    2026.01.15

    ps图片相关教程汇总
    ps图片相关教程汇总

    本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

    8

    2026.01.15

    ppt一键生成相关合集
    ppt一键生成相关合集

    本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

    3

    2026.01.15

    php图片上传教程汇总
    php图片上传教程汇总

    本专题整合了php图片上传相关教程,阅读专题下面的文章了解更多详细教程。

    2

    2026.01.15

    phpstorm相关教程大全
    phpstorm相关教程大全

    本专题整合了phpstorm相关教程汇总,阅读专题下面的文章了解更多详细内容。

    4

    2026.01.15

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Redis6入门到精通超详细教程
    Redis6入门到精通超详细教程

    共47课时 | 5.2万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号