SpringBoot2.X配置文件及优先级

SpringBoot2.X配置文件及优先级

SpringBoot启动时会扫描以下位置的application.yml配置文件或者application.properties配置文件作为SpringBoot的默认配置文件,其中同一个位置下的.properties配置文件优先级大于.yml配置文件

file:./config/(当前项目目录下的config目录)

file:./(当前项目目录下)

classpath:/config/(类路径下的config目录)

classpath:/(类路径下)

按照上述目录优先级从高到低依次扫描,所有位置都会扫描,高优先级配置内容会覆盖低优先级配置内容。

如果高优先级配置文件属性与低优先级配置文件属性不冲突,则会共同存在——互补配置。

自定义配置文件位置

除了默认的配置文件位置外,我们也可以自定义配置文件位置。

例如,现在在resources目录下创建一个myConfig目录,目录中存放一个application.yml文件,那么正常情下,当我们启动SpringBoot项目时,这个配置文件是不会被自动加载的。我们可以通过spring.config.location属性来手动的指定配置文件位置,指定完成后,系统就会自动去指定目录下查找 application.yml文件。
在这里插入图片描述
此时启动项目,就会发现,项目以 classpath:/myConfig/application.yml 配置文件启动。

这是在开发工具中配置了启动位置,如果项目已经打包成 jar ,在启动命令中加入位置参数即可:

java -jar springboot-httprequest-0.0.1-SNAPSHOT.jar --spring.config.location=classpath:/myConfig/

发布了25 篇原创文章 · 获赞 6 · 访问量 4509

猜你喜欢

转载自blog.csdn.net/weixin_44176169/article/details/103840032