在使用JUnit进行单元测试时经常需要使用Spring中经过IoC进行注入的对象,比如HibernateTemplate,就只能从Spring获取,因为如果自己去获取太繁琐。本文将以获取HibernateTemplate实例为例介绍两种获取IoC的对象:
1. 自解析的方式
这种方式需要自己解析Spring的配置文件,但是也就一句话的事情。
public class HibernateTest{
@Test
public void getTemplateTest()
{
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
HibernateTemplate hibernateTemplate = (HibernateTemplate)ctx.getBean("hibernateTemplate");
if(hibernateTemplate == null)
{
System.out.println("null");
}
else {
System.out.println("yes");
System.out.println("class:" + hibernateTemplate.getClass());
}
}
}
其中的xml的存放位置是src目录下,未实验其他地址时的填写方式
2.利用注解
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
public class SpringJUnitTogether {
@Resource
private HibernateTemplate template;
@Test
public void getTemplateTest() {
if(null == template)
{
System.out.println("null");
}
else {
System.out.println("got it");
}
}
}
这里配置文件的存放位置也是src目录下