需求:不同的环境有不同的开关属性,比如开发系统,需要关闭短信,微信的通知功能。而演示环境,线上环境则需要打开这些配置。
那么,如何做到呢?---》在properties.application配置
需要在resources下创建 application-{profile}.properties的配置文件,其中,profile可以任意名字:
test :表示测试环境
prod :表示线上环境
pre-prod :预发布环境
demo1.0 :版本演示环境
这些配置环境可以添加或者覆盖application.properties文件的属性。
在环境变量中,spring.profiles.active指定使用哪个profile,比如:
java -jar -Dspring.profiles.active=prod target/ch8.deploy-0.0.1-SNAPSHOT.jar
以上配置启动后, spring boot将读取resources/application-prod.properties配置文件,覆盖默认的application.properties的内容。
如果使用war 方式部署,添加系统属性是比较好的方式。下面以tomcat为例进行说明。
编辑 catalina.sh 。在sh文件开头的部分添加如下内容
JAVA_OPTS="-Dspring.profiles.active=prod"