发布于2026-07-12 阅读(0)
扫一扫,手机访问
部署springboot项目时,是不是经常被配置文件折磨?测试环境和生产环境的配置不一样,每次部署都要改配置文件再打包。哪怕用了Nacos做配置管理,测试环境和生产环境的Nacos地址也不同,每次部署还是得改配置文件里的地址。麻烦不说,还容易漏改。
其实SpringBoot本身支持读取外部配置文件。应用启动后,可以读取指定目录下的配置文件覆盖jar包内的配置,实现应用与配置的真正分离。再也不用每次部署都去改配置文件了。

SpringBoot官方文档里写得明明白白:SpringApplication有四种读取配置文件的方式,而且是有优先级的。所有方式下的配置文件都会被读取,高优先级的配置会覆盖低优先级的配置。
具体是哪四种呢?按优先级从高到低排列:
项目打成jar包后,配置文件会被放在BOOT-INF的classes目录下:

这就是第四种方式,也是优先级最低的那个。
所以,要实现应用与配置分离,用第一、第二种方式就行。这里推荐使用第二种方式——把配置文件放到jar包的同级目录:

项目启动的时候,会自动读取这个外部配置文件,并覆盖jar包里的配置。
如果想配置文件放在任意目录,那启动命令里就要指定配置文件的路径:
spring.config.location=xxx
完整的启动命令示例:
nohup ja va -jar nms-alarm-manager.jar --spring.config.location=/home/my-config/bootstrap.yml &
说到底,SpringBoot官方其实早就考虑到了这种场景。利用外部配置文件的优先级机制,就能轻松实现应用与配置的分离,部署时再也不用反复修改配置文件了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8