Spring Boot常见外部配置文件方式详析
facelessman 人气:0本文着重给大家讲解了关于Spring Boot常见外部配置文件方式的相关资料,文中通过代码实例讲解的非常细致,对大家的学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
日常开发和发布我们经常将 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 手动指定配置文件所在目录
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
更多配置请参考 官方文档 .
总结
加载全部内容