部署springboot项目读取外部配置文件实现过程
部署springboot项目读取外部配置文件 部署springboot项目时,是不是经常被配置文件折磨?测试环境和生产环境的配置不一样,每次部署都要改配置文件再打包。哪怕用了Nacos做配置管理,测试环境和生产环境的Nacos地址也不同,每次部署还是得改配置文件里的地址。麻烦不说,还容易漏改。 其实
部署springboot项目读取外部配置文件
部署springboot项目时,是不是经常被配置文件折磨?测试环境和生产环境的配置不一样,每次部署都要改配置文件再打包。哪怕用了Nacos做配置管理,测试环境和生产环境的Nacos地址也不同,每次部署还是得改配置文件里的地址。麻烦不说,还容易漏改。
其实SpringBoot本身支持读取外部配置文件。应用启动后,可以读取指定目录下的配置文件覆盖jar包内的配置,实现应用与配置的真正分离。再也不用每次部署都去改配置文件了。
官方文档里的描述

SpringBoot官方文档里写得明明白白:SpringApplication有四种读取配置文件的方式,而且是有优先级的。所有方式下的配置文件都会被读取,高优先级的配置会覆盖低优先级的配置。
四种读取方式
具体是哪四种呢?按优先级从高到低排列:
- 1、在jar包的同一目录下新建一个config文件夹,把配置文件放进去
- 2、直接把配置文件放到jar包的同级目录
- 3、在classpath下新建一个config文件夹,把配置文件放进去
- 4、在classpath下直接放配置文件
项目打成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官方其实早就考虑到了这种场景。利用外部配置文件的优先级机制,就能轻松实现应用与配置的分离,部署时再也不用反复修改配置文件了。
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Ableton Live 是面向音乐制作人与现场表演者的数字音频工作站,提供编曲视图、独具特色的现场视图、音频录制、MIDI创作、实时变速、乐器及效果器。Mac版原生支持Apple芯片,并可连接音频接口、MIDI控制器和第三方插件。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。














