有个一个想法,通常开发环境和生产环境、甚至测试环境的很多配置文件不相同,至少开发环境和生产环境的数据库是不同的吧,Spring Boot 打包为 war包,还是jar包。
个人开始觉得打成war包,放在tomcat下,最后都是会解压的,解压后,我不替换配置文件就可以了。
其实这个想法太out了,也low了,就为了这么一个配置文件有什么好纠结的呢?
创建多个 application.yml 就OK了。
如下图的三个配置文件,application.yml是启动服务时,服务器会自动加载的配置文件,而application-dev.yml是开发环境的配置文件,application-prod.yml是生产环境的配置文件,后两个文件在启动服务时,服务器不会自动加载的。
修改application.yml配置文件:
spring:
profiles:
active: dev
服务器就会通过application.yml文件去调用application-dev.yml文件。
同样打包部署到生产环境时,只需要将active 设置为 prod,服务器就会通过application.yml文件去调用application-prod.yml文件了。