SpringBoot如何引用外部配置文件

官方文档:https://docs.spring.io/spring-boot/docs/2.3.6.RELEASE/reference/htmlsingle/#boot-features-external-config-application-property-files

一、springboot 默认的配置文件加载顺序

  1. 在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下;
  2. 直接把配置文件放到jar包的同级目录;
  3. 在classpath下建一个config文件夹,然后把配置文件放进去;
  4. 在classpath下直接放配置文件。

这里的优先级是依次降低的,优先级高的覆盖优先级低的,不过,只是对相同配置项才会产生覆盖作用,不同的话是互补作用,也就是说如果四个地方都配了的话,是会累加起来的。

如果我们需要自定义配置文件路径的话,可以通过命令行启动程序时配置 --spring.config.location=xxx.properties就可以达到目的,但是对运维就不太友好,因为在启动命令时候要配置好这个特定项目路径。

二、spring.config.location为什么没有生效

可能原因是在application配置文件里面指定spring.config.location的优先级太低了,加载太迟了,导致加载不到特定的配置文件,因此在通过命令行启动的方式可以提高优先级,加载到配置文件。

 

posted @ 2020-12-01 13:19  codedot  阅读(1171)  评论(0编辑  收藏  举报