正确写法应该如下:

 

@RunWith(SpringJUnit4ClassRunner.class)
//@ContextConfiguration(locations="classpath: /com/config/spring-core.xml")
@ContextConfiguration("/com/config/spring-core.xml")
@Transactional

 

 

测试无错误的环境:spring4.2.5 junit4.10 

 

 参考:http://www.ibm.com/developerworks/cn/java/j-lo-springunitest/

   http://my.oschina.net/dlpinghailinfeng/blog/336694

特别感谢以上2篇文章,尤其IBM的,果然是顶级,其他人写的基本错误,看到IBM后,尤为开心,秒杀解决问题。 

 其他类继承SpringTest 即可。

 

package com.test;

import org.junit.runner.RunWith;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;

@RunWith(SpringJUnit4ClassRunner.class)
//@ContextConfiguration(locations="classpath: /com/config/spring-core.xml")
@ContextConfiguration("/com/config/spring-core.xml")
@Transactional
public class SpringTest extends AbstractJUnit4SpringContextTests {
    
    public <T> T getBean(Class<T> type){
        return applicationContext.getBean(type);
       }
        
       public Object getBean(String beanName){
        return applicationContext.getBean(beanName);
       }
       
       protected ApplicationContext getContext(){
        return applicationContext;
       }
}

 

相关文章:

  • 2021-06-27
  • 2021-10-19
  • 2020-01-07
  • 2021-11-04
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-25
  • 2021-08-31
  • 2022-12-23
  • 2021-09-04
  • 2021-10-20
相关资源
相似解决方案