SpringBoot常见外部配置文件方式

日常开发和发布我们经常将 SpringBoot 的配置文件application.properties (或 application.yaml)直接放在项目目录下然后打包进 jar 包. 但是在很多时候, 我们可能因为 CI 需要或者安全管理需要集中管理配置文件, 这就涉及到外部配置文件的问题.

根据 SpringBoot 官方文档, 外部配置文件一般可以放到这4个地方:

/config
/config

也就是:

  1. java 命令当前运行目录下的 config 目录;
  2. java 命令当前运行目录;
  3. classpath 目录下的 config 目录;
  4. classpath 目录下;

这四者的优先级从 1 到 4 依次降低. 也就是说在上面四个目录下都放置 application.properties 文件, 会优先使用 1. java 命令执行的目录下的 config 目录
.

具体如下图所示, 在 target/
目录下通过 java -jar app.jar
启动项目, 配置文件的优先级从高到低依次是 (1) -> (4) :

target/
  |- application.properties           (2)
  |- config/
       |- application.properties      (1)
  |- app.jar
       |- application.properties      (4)
       |- config/
            |- application.properties (3)

另外我们可以通过 --spring.config.location=XXX
手动指定配置文件所在目录

cd target/
java -jar app.jar --spring.config.location=/data/config/springboot-sample/application.properties
# 或者只给目录. 注意: 一定要以斜线`/`结尾
java -jar app.jar --spring.config.location=/data/config/springboot-sample/

或者目录不变, 只是自定义文件名 (通过 --spring.config.name=XXX
):

cd target/
java -jar app.jar --spring.config.name=myproject

更多配置请参考 官方文档
.

原文 

https://segmentfault.com/a/1190000023364943

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » SpringBoot常见外部配置文件方式

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址