按照here的说明进行操作,但出现错误,无法自动装配WebApplicationContext。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("applicationContext-test.xml")
@WebAppConfiguration
public class AjaxTest {
@Autowired
private WebApplicationContext webApplicationContext; //FAILS
但这编译:
@Autowired
ServletContext servletContext;
private WebApplicationContext webApplicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
而且我不明白为什么。
编辑
使用maven可以正常运行,这是我的编辑器intellij显示的错误的自动编译消息bug in fact。
最佳答案
您的测试类应实现ApplicationContextAware
接口:
public class ApplicationContextProvider implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
}
Spring将自动注入应用程序上下文。