Spring JUnit 的单测中如何获取当前spring的ApplicationContext上下文

我在写单测的时候(spring环境下的单元测试)想获得当前spring的ApplicationContext上下文。我是这样实现的:

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**
 * <pre>
 * TestGetApplicationContext.java
 * @author kanpiaoxue<br>
 * @version 1.0
 * Create Time 2014年12月11日 下午2:44:36<br>
 * Description : Spring JUnit 的单测中如何获取当前spring的ApplicationContext上下文
 * </pre>
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring-ctx-sf-application.xml")
public class TestGetApplicationContext implements ApplicationContextAware {

    private ApplicationContext applicationContext;

    /*
     * (non-Javadoc)
     * @see
     * org.springframework.context.ApplicationContextAware#setApplicationContext
     * (org.springframework.context.ApplicationContext)
     */
    @Override
    public void setApplicationContext(ApplicationContext arg0)
            throws BeansException {
        this.applicationContext = arg0;
    }

    @Test
    public void testGetApplicationContext() {
        System.out.println(applicationContext);
        Assert.assertNotNull(applicationContext);
    }
}

猜你喜欢

转载自kanpiaoxue.iteye.com/blog/2165172