SpringBoot 工程配置文件加载顺序

导读:本篇文章讲解 SpringBoot 工程配置文件加载顺序,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言:

        SpringBoot 工程配置文件默认放在resources目录下,当 jar 包启动以后会自动加载其配置;但是目前主流规范是配置文件和工程要分开,当然SpringBoot也是支持的,这里记录并验证一下其配置文件存放位置和生效顺序。

一、可存放目录

1. 工程根目录下(存放jar包目录) config 目录下

2. 工程根目录下(存放jar包目录)

3. 代码resources目录下config 目录下

4. 代码resources目录下

二、生效顺序验证

        根据上述顺序依次加载,并且所有的文件都会被加载,高优先级的内容会覆盖相同配置项的低优先级的内容,(eg,1和2都存在port属性,1会覆盖2的port属性值;如果1不存在port属性,最终使用2的port属性值)

1. 先验证上述3和4的顺序,如图创建config目录,并把配置文件移入,此时config目录中启动端口为9124,resources目录下启动端口9123,相关截图如下:

SpringBoot 工程配置文件加载顺序SpringBoot 工程配置文件加载顺序SpringBoot 工程配置文件加载顺序

启动程序,查看启动日志,截图如下:

SpringBoot 工程配置文件加载顺序

很明显加载的是 config 目录的配置文件。

2. 验证1和2的顺序,将上述工程打包,并把相关配置文件放置到服务器相关目录,config 目录中启动端口 9126,工程根目录启动端口9125,部分截图如下:

SpringBoot 工程配置文件加载顺序SpringBoot 工程配置文件加载顺序SpringBoot 工程配置文件加载顺序

启动工程,查看启动日志,截图如下:

SpringBoot 工程配置文件加载顺序

很明显使用的是 config 目录的配置文件,同时也间接证明1的顺序在3之上。至于2和3顺序的验证,可以把2步骤中的config目录删掉,再启动看一下日志,这里就不展示了。

3. 另:application-dev 属于继承 application 配置,当配置有冲突时以继承者为准。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16519.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!