日常开发和发布我们经常将 SpringBoot 的配置文件application.properties (或 application.yaml)直接放在项目目录下然后打包进 jar 包. 但是在很多时候, 我们可能因为 CI 需要或者安全管理需要集中管理配置文件, 这就涉及到外部配置文件的问题.
根据 SpringBoot 官方文档, 外部配置文件一般可以放到这4个地方:
/config
/config
也就是:
- java 命令当前运行目录下的 config 目录;
- java 命令当前运行目录;
- classpath 目录下的 config 目录;
- 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 手动指定配置文件所在目录
1
2
3
4
|
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 ):
1
2
|
cd target/ java -jar app.jar --spring.config.name=myproject |
更多配置请参考 官方文档 .
总结
到此这篇关于Spring Boot常见外部配置文件方式的文章就介绍到这了,更多相关SpringBoot常见外部配置文件内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://segmentfault.com/a/1190000023364943