項目中需要用到很多配置文件,不同環境的配置文件是不一樣的,因此如果只用一個配置文件,勢必會造成配置文件混亂,這里提供一種利用環境變量控制配置文件加載的方法,如下:
一、配置環境變量
如果是windows環境,只要右擊“計算機”->“屬性”-"高級"->"高級系統設置"->“環境變量”,增加環境變量即可,例如:config_env=dev。
如果是linux環境,則修改tomcat的文件即可,具體為:../{tomcat_path}/bin/catalina.sh,找到“JAVA_OPTS="$JAVA_OPTS”,加上參數即可,例如:JAVA_OPTS="$JAVA_OPTS -Dconfig_env=uat"。
二、系統配置文件
假設我們的開發環境分為dev、uat和生產環境,則我們可以在系統中設置三個配置文件:
config_dev.properties、config_uat.properties、config_prd.properties。
三、Spring加載
Spring配置文件在加載時,設置“固定名+變量名”的方式進行加載,如下:
<!-- 讀取配置文件 -->
<context:property-placeholder location="classpath:config_${config_env}.properties" ignore-unresolvable="true" />
這里的config_${config_env}.properties在不同的環境中就能加載不同的配置文件了。