个人微信号:geekoftaste, 期待与大家一起探讨!
背景
我们知道 SpringBoot 有一个全局的配置文件 application.properties, 可以把工程里用到的占位符,第三方库的配置项如 dubbo 端口,工程的 db 配置等统一放在这个配置文件里,方便对工程里所有配置项的统一管理。我们知道,在企业开发中,我们一般会先在测试环境中开发,在预发环境环境,最后上生产环境部署,也就意味着一个工程需要分别部署在测试,预发,生产环境上,而这三种环境的一些配置项(如测试环境和生产环境的 db 配置)很多时候都是不一样的,所以我们通常需要为每一个环境准备一份 application.properties, 接下来就引申出一个问题
如何维护多环境下的 application.properties 文件
方法一:在工程里维护多个环境的 application.properties ,部署的时候通过 spring.profiles.active 来指定工程应用哪个环境的 application.properties 文件,比如预发配置文件我们用 application-pre.properties, 线上配置文件我们用 application-prod.properties,当想在预发部署工程时,我们在部署脚本里用 java -jar xxxxx.jar --spring.profiles.a