博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring3.1+自定义环境配置 <beans profile="">
阅读量:6281 次
发布时间:2019-06-22

本文共 1458 字,大约阅读时间需要 4 分钟。

  hot3.png

今天老大让把项目测试环境,开发环境,生成环境配置一下,方便数据源切换,很惊喜的找到了spring3.1的profile,使用这个标签太方便了。

Spring 3.1的功能,以后就不用为了区分Test, Dev, Production环境,搞几个只有细微区别的application.xml, application-test.xml及引用它们的web.xml了。

首先,将applicationContext.xml中的namespace从3.0升级到3.1.xsd, 然后就可以在文件末尾加入不同环境的定义,比如不同的dataSource

Xml代码 

<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"进行覆盖。

Xml代码 

<context-param>

<param-name>spring.profiles.default</param-name>

<param-value>production</param-value>

</context-param>

 如果需要在eclipse设置development环境,在

Run As --》Run Configurations... --》Environment 设置变量:

spring.profiles.active = development

3.在其他地方进行覆盖
3.1 在development和functional test启动Jetty前设置系统变量

Java代码 

System.setProperty("spring.profiles.active", "development");

server.start()

3.2 在用到ApplicationContext的单元测试用例中,用 @ActiveProfiles定义

Java代码 

@ContextConfiguration(locations = { "/applicationContext.xml" })

@ActiveProfiles("test")

public class AccountDaoTest extends SpringTxTestCase {

}

演示了production,development,test,functional三个环境, 大家可以根据实际情况组合自己的环境管理。另外可以与Spring的properties文件加载时可顺位覆盖的特性(放一些不在版本管理中的xx.local.properties文件),更好的支持本地开发环境。

转载于:https://my.oschina.net/zmf/blog/316081

你可能感兴趣的文章
@RequestMapping 用法详解之地址映射
查看>>
254页PPT!这是一份写给NLP研究者的编程指南
查看>>
《Data Warehouse in Action》
查看>>
String 源码浅析(一)
查看>>
Spring Boot 最佳实践(三)模板引擎FreeMarker集成
查看>>
Fescar 发布 0.2.3 版本,支持 Redis 和 Apollo
查看>>
Google MapReduce到底解决什么问题?
查看>>
CCNP-6 OSPF试验2(BSCI)
查看>>
Excel 2013 全新的图表体验
查看>>
openstack 制作大于2TB根分区自动扩容的CENTOS镜像
查看>>
Unbuntu安装遭遇 vmware上的Easy install模式
查看>>
几个常用的ASP木马
查看>>
python分析postfix邮件日志的状态
查看>>
Mysql-5.6.x多实例配置
查看>>
psutil
查看>>
在git@osc上托管自己的代码
查看>>
机器学习算法:朴素贝叶斯
查看>>
小五思科技术学习笔记之扩展访问列表
查看>>
使用Python脚本检验文件系统数据完整性
查看>>
使用MDT部署Windows Server 2003 R2
查看>>