Spring Boot常见外部配置文件方式详析

时间:2021-05-20

日常开发和发布我们经常将 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

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

    总结

    到此这篇关于Spring Boot常见外部配置文件方式的文章就介绍到这了,更多相关SpringBoot常见外部配置文件内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章