軟件開發過程一般有三個階段:開發 > 測試 > 生產。每個階段都對應不同的數據庫環境配置,我們希望通過一種自動切換的方式來減少手動切換的工作量,這樣做的目的也是為了能夠減少手工帶來的出錯率。
spring 自帶的profile很好的解決了這個問題,通過對配置文件的修改就能夠達到自動切換的目的。
具體配置步驟如下:
1.在resource目錄下建立每種環境對應的文件夾,用來存放配置文件。
development文件夾 : 存放 dev.properties
production文件夾 : 存放 produce.properties
test 文件夾: 存放 test.properties
2. spring -mybatis.xml(spring的配置文件) 中設置profile。
<!-- 開發環境配置文件 --> <beans profile="development"> <context:property-placeholder location="classpath:development/*.properties" /> </beans> <!-- 測試環境配置文件 --> <beans profile="test"> <context:property-placeholder location="classpath:test/*.properties" /> </beans> <!-- 生產環境配置文件 --> <beans profile="production"> <context:property-placeholder location=" classpath:production/*.properties" /> </beans>
需要注意的是:這部分配置需要放置在配置文件的最下面,否則會報錯。
3. 激活profile
方法1. web.xml配置
<!-- 配置spring的profile --> <context-param> <param-name>spring.profiles.active</param-name> <param-value>development</param-value> </context-param>
方法2. Tomcat 啟動腳本 catalina.bat 設置
set JAVA_OPTS="-Dspring.profiles.active=test"