在配置文件中很有一些屬性會在團隊的開發環境個人的開發環境集成測試環境生產環境甚至生產環境集群的每台服務器中都有所不同的 為了將這些易變的屬性抽從applicationContext取出來Spring 做了一些特殊的支持
詳見在 SpringSide裡配置如下
<bean class=orgspringframewonfigPropertyPlaceholderConfigurer>
<property name=systemPropertiesModeName value=SYSTEM_PROPERTIES_MODE_OVERRIDE />
<property name=ignoreResourceNotFound value=true />
<property name=locations>
<list>
<value>classpath:applicationproperties</value>
<value>classpath:applicationlocalproperties</value>
<value>file:/var/myapp/applicationserverproperties</value>
</list>
</property>
</bean>
團隊公用的開發環境配置在applicationproperties中放入版本控制系統管理中
個人的開發環境集成測試環境中與公共環境不相同的部分放入applicationlocalproperties中會覆蓋 applicationproperties中的設置由個人管理不放入版本管理系統
在打包部署到生產環境時可將生產環境每台服務器的特殊屬性可放在服務器的某個固定目錄如/var/myapplicaiton /applicationserverproperties中(而不放在項目jar內) 每台服務器的配置文件分開不同服務器目錄放在版本管理系統中也可以在啟動命令中加入參數來覆蓋如Djdbcusername=aaa
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28637.html