按照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将自动注入应用程序上下文。

09-04 17:16