import org.apache.commons.lang3.StringUtils;
import org.apache.xbean.spring.context.ClassPathXmlApplicationContext;
import com.opensymphony.xwork2.interceptor.annotations.After;
import com.opensymphony.xwork2.interceptor.annotations.Before;
public class UnitTestBean {
private ClassPathXmlApplicationContext context;
private String springXmlpath;
public UnitTestBean(String springXmlpath){
this.springXmlpath = springXmlpath;
}
@Before
public void before(){
System.out.println("springXmlpath = : "+springXmlpath);
if(StringUtils.isEmpty(springXmlpath)){
springXmlpath="classpath*:spring-*.xml";
}
context=new ClassPathXmlApplicationContext(springXmlpath.split("[,\s]+"));
System.out.println("context new : "+springXmlpath.split("[,\s]+"));
context.start();
}
@After
public void after() {
context.destroy();
}
@SuppressWarnings("unchecked")
protected <T extends Object>T getBean(String beanId){
return(T)context.getBean(beanId);
}
protected <T extends Object>T getBean(Class<T> clazz){
return context.getBean(clazz);
}
}
import org.junit.runner.RunWith;
import org.junit.runners.BlockJUnit4ClassRunner;
@RunWith(BlockJUnit4ClassRunner.class)
public class TestOneInterface extends UnitTestBean {
public TestOneInterface() {
super("classpath*:spring-ioc.xml");
}
@Test
public void testSay() {
OneInterface oneInterface = super.getBean("oneInterface");
oneInterface.say("This is a test.");
}
}