import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.transaction.annotation.Transactional;
//使用@RunWith(SpringJUnit4ClassRunner.class),才能使测试运行于Spring测试//环境
@RunWith(SpringJUnit4ClassRunner.class)
//@ContextConfiguration 注解有以下两个常用的属性:
//locations:可以通过该属性手工指定 Spring 配置文件所在的位置,可以指定一个或多个 Spring 配置文件
//inheritLocations:是否要继承父测试类的 Spring 配置文件,默认为 true
@ContextConfiguration(locations={"classpath:spring/spring-config-business.xml"})
public class TestRisk extends AbstractTransactionalJUnit4SpringContextTests{
@Autowired
private IRiskBO bo;
@Test
@Transactional
@rollback(false)
public void Test()
{
Risk risk = bo.findRiskById("CW01", true);
System.out.println(risk.getName()+":"+risk.getCode());
}
}
说明:
@Test
@Transactional
@Rollback(false)
不同写法,内部执行的源码也不一样:
//class load
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//file load
ApplicationContext applicationContext = new FileSystemXmlApplicationContext("src/main/webapp/WEB-INF/applicationContext.xml");
再说一下Spring提供的JUnit框架扩展:
1. AbstractSpringContextTests:spring中使用spring上下文测试的Junit扩展类,我们一般不会使用这个类来进行单元测试,它是spring内部设计使用到的类
2. AbstractDependencyInjectionSpringContextTests:这是AbstractSpringContextTests的直接子类,支持依赖spring上下文的测试类,这个类不支持事务。
3. AbstractTransactionalSpringContextTests:这是 AbstractDependencyInjectionSpringContextTests的直接子类,这个类一般应用在事务相关的测试中,一旦完成每个测试它就会正常地回滚事务,不会真正更新数据库,若要手动设置事务相关操作,你可以重载onSetUpInTransaction和 onTearDownInTransaction方法,以便手工开始并提交事务,或者调用setComplete()方法。这个类也可以在没有事务的情况下,使用这个类。
4. AbstractTransactionalDataSourceSpringContextTests:这是 AbstractTransactionalSpringContextTests的直接子类,它使用了Spring的基于JDBC的 jdbcTemplate工具类,支持数据库级别的事务。
你的TestCase Class必须继承的是上述四个AbstractXXXSpringContextTests中的其中一个。一般我们继承SpringJUnit4ClassRunner或者利用注解声明@RunWith(SpringJUnit4ClassRunner.class)
参考网站:
http://zxf-noimp.iteye.com/blog/854556
http://chenzehe.iteye.com/blog/1468130
分享到:
相关推荐
JSF+Spring+Hibnate+Sql+ojdbc6 的jar包,自己本人找了很久才找齐的,留着备用,分享一下大家按需所取
通用开发平台(spring mvc + spring + bootstrap + hibernate);有任何不懂的技术问题都可以联系我共同讨论
jdon是类似于spring的国内开源框架,结合了stucts,封装了大部分增删改查的操作,本身基于缓存技术,此资源提供了结合其他orm的开发
三层结构,框架清晰,这是成功案例,相当不错
struts2 spring hibnate
spring,struts,hibnate整合
目前有角色权限管理功能。登陆页面改天完善。目前是个链接。里面的技术包括junit,生成api,ant。数据库是mysql。 功能说明:登陆系统时,不同的角色不同的权限
技术:myeclipse+spring+struts2+hibnate+lunce+poi+ztree+mysql+jbpm 功能:基本信息的录入(poi导入)包括省、市、区,菜单导航树形结构,取派业务,lunce的信息检索,一件上传功能,工单的接收,等。。。。。
hibernate spring 开发常用到的jar包
NULL 博文链接:https://willvvv.iteye.com/blog/587557
NULL 博文链接:https://ljz0898.iteye.com/blog/1547159
自己开发过程中整合的SSH框架最精简版,解压后直接放入lib目录就可以进行相应的开发配置,框架包括hibnate3.3+struts2+spring2.5
Struts_Spring_Hibernate实现的基于RBAC的权限管理系统Java源码
Structs1.2框架、Spring2.0和Hibernate3.2以及集成教案,自己整合的,花了将近俩小时,很适用,希望对大家有用!开发M工具用滴是yEclipse 5.5.1 GA
不用说了吧,大家都知道ssh,就是Spring和hibnate嘛,用Ibatis吧,apache项目后续支持没问题,同时支持java和.net,使您纵横sun和ms的重大利器,不多说了,学啊
struts2,spring,css.ibaties.jquery .jdk,javascript api
hibnate下连接池的配置和使用。在本机上调试通过。将工程打包上传。并有简单说明
hibernate工具类,帮助hibernate持久化类,连接数据库,操作表。
hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中...
加拿大达内集团hibernate framework