快捷搜索: 王者荣耀 脱发

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来加载外部的配置

经验分享 程序员 微信小程序 职场和发展