Spring3自定义环境配置 <beans profile="">
<beans profile="test"><jdbc:embedded-database id="dataSource"><jdbc:script location="classpath:com/bank/config/sql/schema.sql"/></jdbc:embedded-database></beans><beans profile="production"><jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/datasource"/></beans>?
2.在web.xml里,你需要定义使用的profile,最聪明的做法是定义成context-param,注意这里定义的是default值,在非生产环境,可以用系统变量"spring.profiles.active"进行覆盖。
<context-param><param-name>spring.profiles.default</param-name><param-value>production</param-value></context-param>?
3.在其他地方进行覆盖
3.1 在development和functional test启动Jetty前设置系统变量
System.setProperty("spring.profiles.active", "development");server.start()?
3.2 在用到ApplicationContext的单元测试用例中,用 @ActiveProfiles定义
@ContextConfiguration(locations = { "/applicationContext.xml" })@ActiveProfiles("test")public class AccountDaoTest extends SpringTxTestCase {}?
在springside里有演示了production,development,test,functional三个环境, 大家可以根据实际情况组合自己的环境管理。另外可以与Spring的properties文件加载时可顺位覆盖的特性(放一些不在版本管理中的xx.local.properties文件),更好的支持本地开发环境,Jenkins上的functional test等其他环境。
?
详情:https://github.com/springside/springside4/wiki/Spring
?
详细配置与使用:http://www.cnblogs.com/chanedi/archive/2012/01/12/2320837.html
?