一、前言

在springboot项目中,我们可以通过在yml文件中设置变量,再通过@Value注解来获得这个变量并使用,但如果这个项目已经部署到服务器上,我们想更改这个数据了需要怎么做呢,难道要为了一个配置文件中的变量重新打包部署一遍吗?这样显然不太合理,其实在springboot项目中,配置文件是有优先级的。

二、测试前准备

首先我们需要一个springboot项目,并在yml文件中设置一个变量

Java springboot探究配置文件优先级

然后我们编写一个controller去获取这个变量,并在页面中返回这个数据

Java springboot探究配置文件优先级

测试一下这个接口

Java springboot探究配置文件优先级

没有问题,那么接下来就模拟一下部署

三、模拟部署测试

我们通过maven将项目打包

Java springboot探究配置文件优先级

Java springboot探究配置文件优先级

找到我们jar包的位置

Java springboot探究配置文件优先级

通过java -jar在本地启动一下这个项目

Java springboot探究配置文件优先级

访问页面,访问成功

Java springboot探究配置文件优先级

接下来我们的需求有变动,这个数值需要变更到200了,我们该怎么做呢?

首先在idea中更改Yml文件

Java springboot探究配置文件优先级

然后将这份新的yml文件复制到jar包的相同路径下

Java springboot探究配置文件优先级

我们再重新启动项目并访问页面

Java springboot探究配置文件优先级

可以看到返回值如我们所愿变成了200,到这里我们可以得出结论,我哦们可以通过在jar包的同级目录下创建一个新的配置文件来覆盖之前的配置文件,也就是配置文件是有优先级的,那么还有比这更高的优先级吗?

当然有,在同级目录创建一个config文件

Java springboot探究配置文件优先级

把配置文件的value改为300

Java springboot探究配置文件优先级

把这份配文件放入config中

Java springboot探究配置文件优先级

重启并访问

Java springboot探究配置文件优先级

四、总结

做个总结就是我们通过上面的步骤可以发现
springboot项目中配置文件的优先级:config文件夹中的配置文件 > 同级配置文件 > jar包中的配置文件

原文地址:https://blog.csdn.net/qq_51383106/article/details/129930491

相关文章:

  • 2021-09-02
  • 2022-12-23
  • 2021-11-24
  • 2022-12-23
  • 2022-12-23
  • 2021-08-09
  • 2023-04-04
猜你喜欢
  • 2021-06-26
  • 2021-10-03
  • 2021-12-21
  • 2021-11-17
  • 2021-06-16
  • 2021-05-19
相关资源
相似解决方案