SpringBoot开发【配置】配置文件的加载位置

本文介绍了SpringBoot启动时配置文件的加载位置,包括file和classpath下的/config及根目录,按照优先级加载并覆盖。通过实验展示了配置互补和如何通过spring.config.location指令改变默认配置文件位置,该功能适用于运维阶段的小幅修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇我们讲解了profile的多环境支持,这次我们来说下配置文件的加载位置

配置文件加载位置

SpringBoot在启动时会扫描固定的位置中的application.properties文件或者application.yml文件作为默认配置文件

file:/config
file:./
classpath:/config/
classpath:/

并且是按照优先级从高到低的顺序,所有位置的文件都会加载,高优先级配置内容会覆盖低优先级配置内容(上面的顺序就是优先级顺序)
这里我们可以来尝试一下
在resources下建立一个config文件夹,里面放一个application.properties文件,端口号为8090,在resources下的application.properties文件的端口号为8081,执行一下
测试我们发现端口号为8090,即config中的端口号,即验证了后边两个位置的优先级,其余的大家自己试验一下,就不演示了

互补配置:SpringBoot启动时会按照优先级扫描四个文件位置,相同的配置高优先级的会覆盖低优先级的,不同的配置低优先级会补上
这里做个试验
在resources下的properties文件下加一个配置项目访问路径,然后测试一下

server.servlet.context-path=/hi

测试
我们发现出现错误,加上配置的访问路径
测试由此低优先级的可以补上高优先级没有的配置

我们也可以通过spring.config.location来改变默认配置
项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定配置文件和默认加载的这些配置文件共同起作用形成互补配置

我们在resources下的properties文件中加入spring.config.location指令,将config下的properties文件复制到一个盘,然后把这个文件的端口号改为8091,指令就是文件所在地址

spring.config.location=C:/Users/hp/Desktop/application.properties

运行一下,发现端口号还是8090
我们把项目打包一下
然后在终端打开target,执行jar包,加上指令,运行
测试测试端口号变成了复制的文件修改之后的端口号
用网页进行测试
测试没有问题,端口号修改成功
这个功能主要用于运维,在项目完成后需要改动,我们可以利用这个功能进行小的修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值