spring profile 多環境配置管理
現象
如果在開發時進行一些數據庫測試,希望鏈接到一個測試的數據庫,以避免對開發數據庫的影響。
開發時的某些配置比如log4j日志的級別,和生產環境又有所區別。
各種此類的需求,讓我希望有一個簡單的切換開發環境的好辦法。
解決
現在spring3.1也給我們帶來了profile,可以方便快速的切換環境。
使用也是非常方便。只要在applicationContext.xml中添加下邊的內容,就可以了
<!-- 開發環境配置文件 --> <beans profile="test"> <context:property-placeholder location="/WEB-INF/test-orm.properties" /> </beans> <!-- 本地環境配置文件 --> <beans profile="local"> <context:property-placeholder location="/WEB-INF/local-orm.properties" /> </beans>
profile的定義一定要在文檔的最下邊,否則會有異常。整個xml的結構大概是這樣
<beans xmlns="..." ...> <bean id="dataSource" ... /> <bean ... /> <beans profile="..."> <bean ...> </beans> </beans>
激活 profile
spring 為我們提供了大量的激活 profile 的方法,可以通過代碼來激活,也可以通過系統環境變量、JVM參數、servlet上下文參數來定義 spring.profiles.active 參數激活 profile,這里我們通過定義 JVM 參數實現。
1、ENV方式:
ConfigurableEnvironment.setActiveProfiles("test")2、JVM參數方式:
tomcat 中 catalina.bat(.sh中不用“set”) 添加JAVA_OPS。通過設置active選擇不同配置文件
set JAVA_OPTS="-Dspring.profiles.active=test"
eclipse 中啟動tomcat。項目右鍵 run as 主站蜘蛛池模板: 遂溪县| 呼图壁县| 定州市| 晋城| 合作市| 育儿| 万载县| 辛集市| 兰考县| 温泉县| 承德市| 舞钢市| 衡阳县| 界首市| 惠来县| 十堰市| 巨鹿县| 岳普湖县| 定襄县| 仲巴县| 彭山县| 安陆市| 嵊泗县| 阿拉善右旗| 潼南县| 图们市| 仪征市| 屯门区| 砀山县| 梅州市| 靖边县| 东丰县| 来宾市| 河东区| 岢岚县| 西峡县| 寿阳县| 栖霞市| 新化县| 澜沧| 新和县|