jar包启动时如何读取配置文件优先顺序
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,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11
java使用dom4j解析xml配置文件实现抽象工厂反射示例
本文主要介绍了java使用dom4j读取配置文件实现抽象工厂和反射的示例,在Java中也可以同Donet一样,将差异配置在配置文件里面。另外,我们采用下面的方式实现,将会更加便捷2014-01-01
通过springboot发布WebService接口并调用方式
Spring Boot集成CXF需注意版本对应,配置注解并发布服务,通过WSDL验证,结合Controller和Swagger测试,CXF支持SOAP、REST等服务,提供代码与合同优先开发模式2025-09-09
Spring实战之Bean定义中的SpEL表达式语言支持操作示例
这篇文章主要介绍了Spring实战之Bean定义中的SpEL表达式语言支持操作,结合实例形式分析了Bean定义中的SpEL表达式语言操作步骤与实现技巧,需要的朋友可以参考下2019-12-12


最新评论