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

 更新时间:2020年07月26日 09:35:34   作者:facelessman  
这篇文章主要给大家介绍了关于Spring Boot常见外部配置文件方式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

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

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

总结

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

相关文章

  • 例举fastJson和jackson转json的区别

    例举fastJson和jackson转json的区别

    今天小编就为大家分享一篇关于例举fastJson和jackson转json的区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • servlet实现文件上传、预览、下载、删除功能

    servlet实现文件上传、预览、下载、删除功能

    这篇文章主要为大家详细介绍了servlet实现文件上传、预览、下载、删除功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Java中@DS+@Transactional注解切换数据源失效解决方案

    Java中@DS+@Transactional注解切换数据源失效解决方案

    本文主要介绍了@DS+@Transactional注解切换数据源失效解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Java并发编程中构建自定义同步工具

    Java并发编程中构建自定义同步工具

    这篇文章主要介绍了Java并发编程中构建自定义同步工具,本文讲解了可阻塞状态依赖操作的结构、有界缓存实现基类示例、阻塞实现方式一:抛异常给调用者、阻塞实现方式二:通过轮询和休眠、阻塞实现方式三:条件队列等内容,需要的朋友可以参考下
    2015-04-04
  • 详解IDEA中MAVEN项目打JAR包的简单方法

    详解IDEA中MAVEN项目打JAR包的简单方法

    本篇文章主要介绍了详解IDEA中MAVEN项目打JAR包的简单方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Java设计模式之抽象工厂模式详解

    Java设计模式之抽象工厂模式详解

    这篇文章主要介绍了Java设计模式之抽象工厂模式详解,抽象工厂是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的、不同等级的产品的模式结构,需要的朋友可以参考下
    2023-09-09
  • Java中IO流文件读取、写入和复制的实例

    Java中IO流文件读取、写入和复制的实例

    下面小编就为大家带来一篇Java中IO流文件读取、写入和复制的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 关于 Java 的数据结构链表

    关于 Java 的数据结构链表

    这篇文章主要介绍了关于 Java 的数据结构链表的相关资料,需要的朋友可以参考下面文章内容
    2021-09-09
  • 深入理解Java设计模式之适配器模式

    深入理解Java设计模式之适配器模式

    这篇文章主要介绍了JAVA设计模式之适配器模式的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解
    2021-11-11
  • SpringMVC配置多个properties文件之通配符解析

    SpringMVC配置多个properties文件之通配符解析

    这篇文章主要介绍了SpringMVC配置多个properties文件之通配符解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论