jar包启动时如何读取配置文件优先顺序

 更新时间:2026年05月09日 15:06:22   作者:banyoyo  
SpringBoot启动时读取配置文件有优先顺序,从高到低为:bat文件目录/config、bat文件目录、classpath/config、classpath,可以通过spring.config.location指定配置位置,覆盖默认顺序,优先级高的配置会覆盖低的配置

jar包启动时,读取配置文件优先顺序

我们在开发完成发布生产环境时往往都会修改一下配置文件的相关内容,而默认.properties配置文件会被封装到jar包中修改起来不方便,所以spring boot给了几个读取配置文件的位置,我们可以通过这个方式去从jar包外部修改配置文件,springboot启动会扫描一下位置的application.properties或者application.yml作为默认的配置文件!

一般我们会将.properties放在resources文件夹内

spring boot会按以下顺序去寻找配置文件

  • 1、“当前目录”的/config文件夹下
  • 2、“当前目录”下
  • 3、classpath的/config文件夹下
  • 4、classpath下

“当前目录”

指的是我们打成可执行jar包后,一般会用bat文件来启动,这个当前目录指的就是bat文件的目录

我们常规存放的位置就是优先级最低的位置,所以我们只需要再单独拷贝一份配置文件,放在bat的“当前目录”即可

加载的优先级顺序是从上向下加载,并且所有的文件都会被加载,高优先级的内容会覆盖底优先级的内容,形成互补配置(例如:当classpath配置中有其他值,且config配置中没有,会读取classpath中的值)

也可以通过指定配置spring.config.location来改变默认配置,一般在项目已经打包后,我们可以通过指令   

java -jar xxxx.jar --spring.config.location=D:/kawa/application.yml

来加载外部的配置

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅谈SpringBoot中的Bean初始化方法 @PostConstruct

    浅谈SpringBoot中的Bean初始化方法 @PostConstruct

    这篇文章主要介绍了SpringBoot中的Bean初始化方法 @PostConstruct,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • SpringBoot如何配置文件给bean赋值问题

    SpringBoot如何配置文件给bean赋值问题

    这篇文章主要介绍了SpringBoot如何配置文件给bean赋值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java游戏俄罗斯方块的实现实例

    Java游戏俄罗斯方块的实现实例

    这篇文章主要介绍了Java游戏俄罗斯方块的实现实例的相关资料,这里实现简单的俄罗斯方块帮助大家学习理解基础知识,需要的朋友可以参考下
    2017-08-08
  • java使用dom4j解析xml配置文件实现抽象工厂反射示例

    java使用dom4j解析xml配置文件实现抽象工厂反射示例

    本文主要介绍了java使用dom4j读取配置文件实现抽象工厂和反射的示例,在Java中也可以同Donet一样,将差异配置在配置文件里面。另外,我们采用下面的方式实现,将会更加便捷
    2014-01-01
  • JAVA解析XML字符串简单方法代码案例

    JAVA解析XML字符串简单方法代码案例

    这篇文章主要介绍了JAVA解析XML字符串简单方法代码案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 通过springboot发布WebService接口并调用方式

    通过springboot发布WebService接口并调用方式

    Spring Boot集成CXF需注意版本对应,配置注解并发布服务,通过WSDL验证,结合Controller和Swagger测试,CXF支持SOAP、REST等服务,提供代码与合同优先开发模式
    2025-09-09
  • java实现识别二维码图片功能

    java实现识别二维码图片功能

    这篇文章主要为大家详细介绍了java实现识别二维码图片功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Java自定义实现链队列详解

    Java自定义实现链队列详解

    这篇文章主要为大家详细介绍了Java自定义实现链队列的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Spring实战之Bean定义中的SpEL表达式语言支持操作示例

    Spring实战之Bean定义中的SpEL表达式语言支持操作示例

    这篇文章主要介绍了Spring实战之Bean定义中的SpEL表达式语言支持操作,结合实例形式分析了Bean定义中的SpEL表达式语言操作步骤与实现技巧,需要的朋友可以参考下
    2019-12-12
  • Java的IO模型、Netty原理解析

    Java的IO模型、Netty原理解析

    Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇文章主要介绍了Java的IO模型、Netty原理详解,需要的朋友可以参考下
    2025-03-03

最新评论