一、前言
在springboot项目中,我们可以通过在yml文件中设置变量,再通过@Value注解来获得这个变量并使用,但如果这个项目已经部署到服务器上,我们想更改这个数据了需要怎么做呢,难道要为了一个配置文件中的变量重新打包部署一遍吗?这样显然不太合理,其实在springboot项目中,配置文件是有优先级的。
二、测试前准备
首先我们需要一个springboot项目,并在yml文件中设置一个变量
然后我们编写一个controller去获取这个变量,并在页面中返回这个数据
测试一下这个接口
没有问题,那么接下来就模拟一下部署
三、模拟部署测试
我们通过maven将项目打包
找到我们jar包的位置
通过java -jar在本地启动一下这个项目
访问页面,访问成功
接下来我们的需求有变动,这个数值需要变更到200了,我们该怎么做呢?
首先在idea中更改Yml文件
然后将这份新的yml文件复制到jar包的相同路径下
我们再重新启动项目并访问页面
可以看到返回值如我们所愿变成了200,到这里我们可以得出结论,我哦们可以通过在jar包的同级目录下创建一个新的配置文件来覆盖之前的配置文件,也就是配置文件是有优先级的,那么还有比这更高的优先级吗?
当然有,在同级目录创建一个config文件
把配置文件的value改为300
把这份配文件放入config中
重启并访问
四、总结
做个总结就是我们通过上面的步骤可以发现
springboot项目中配置文件的优先级:config文件夹中的配置文件 > 同级配置文件 > jar包中的配置文件
到此这篇关于Java springboot探究配置文件优先级的文章就介绍到这了,更多相关Springboot配置文件优先级内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!