Python 官方文档:入门教程 => 点击学习
目录查找配置文件路径的顺序和其优先级别一、SpringBoot查找配置文件路径的顺序和其优先级别二、同路径下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后加载
2)优先级问题:Bootstrap 属性有高优先级,默认情况下,它们不会被本地配置覆盖。(这个是网上和官方的说法,但经过本人的测试,发现application 会覆盖bootstrap,我的理解是不是所有的bootstrap属性都比application优先,只有涉及底层系统相关配置才会比较高 ,有不同看法的老哥欢迎探讨)
3)区别:bootstrap 和 application 都可以用来配置参数。
bootstrap 用来程序引导时执行,应用于更加早期配置信息读取。可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。一旦bootstrap被加载,则内容不会被覆盖。
application.yml 可以用来定义应用级别的, 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。
4)bootstrap典型的应用场景(经典三点)
2. .properties和.yml比较(后缀比较)
1)加载顺序
.yml先于.properties
2)优先级别
.properties优先于.yml,因为.properties后加载会覆盖.yml
3)区别
小结:在同级目录下,优先级别application>bootstrap,.properties>,yml,前缀大于后缀,文件路径大于文件名称
1、将打包方式改为jar 。
<packaging>jar</packaging>
2、可能是yml文件缩近格式不对,仔细检查一下就行了。
3、还有就是你的根本就不是boot项目,application.yml没有叶子标志
1.点开项目结构
2.打开模块一次点击
3.
4.重构项目
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: springboot如何查找配置文件路径的顺序和其优先级别
本文链接: https://lsjlt.com/news/166217.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0