Spring Boot 外置配置文件

 我来答
天罗网17
2022-06-11 · TA获得超过6192个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:73.4万
展开全部

默认情况下,我们 spring boot 项目的配置文件<small>(application.yaml、application.properties)</small>是在项目的 jar 包『里面』的。

如果是要改配置文件中的配置项时,就需要将项目重新打包,在某些情况下,这就显得十分不方便。

对此,我们可以将 spring boot 项目的配置文件『挪到』jar 包之外,然后再启动 spring boot 项目时再指定它使用外部的这些配置文件。

根据上述的 <outputDirectory> 的配置,相关的配置文件会被复制到 target 下的 resources 目录中,并且,jar 包中也不会包含你所配置的这些配置文件。

这种情况下,在启动 spring boot 项目时,需要额外的参数( -Dspring.config.location )告诉它项目的配置文件在哪:

注意:

spring boot 默认是以 classpath:/,classpath:/config/,file:./,file:./config/ 这样的配置在查找、加载配置文件,有意思的是查找顺序是上述配置的反向顺序:

因此,如果你在 spring.config.location 中也定义了多个配置文件位置,例如: classpath:/custom-config/,file:./custom-config/ , 那么配置文件的查找、加载顺序同样是反向的:

另外,还有一个功能相似的配置 spring.config.additional-location ,使用它的话,它会作为默认配置路径的『 扩展配置 』路径来使用。扩展的配置路径会比默认的配置优先被扫描到. 比如说, 如果设置了扩展的配置文件所在路径为: classpath:/custom-config/,file:./custom-config/ , 那么查找路径将会是下面的顺序:

这种扫描顺序使得你可以通过自己的自定义配置来修改默认的配置项。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式