需求:不同的環境有不同的開關屬性,比如開發系統,需要關閉短信,微信的通知功能。而演示環境,線上環境則需要打開這些配置。
那么,如何做到呢?---》在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"