2012-12-22 44 views
0

按照說明here,但我得到錯誤無法自動裝載WebApplicationContext。自動裝配我的春天的webapplicationcotnext 3.2測試

@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運行良好。

+0

你能提供例外嗎? – Suranga

+0

@null我做了,無法自動裝載WebApplicationContext – NimChimpsky

回答

1

你的測試類應該實現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會自動注入的應用程序上下文。

+0

好吧,是不是這@ContextConfiguration批註應該做的 - 它們不顯示在該示例中實現該接口或我錯過了什麼? – NimChimpsky

+0

不,你不需要在春季3.2這樣做,用堆棧跟蹤顯示你的異常 – hoaz

+0

@hoaz好吧,我認爲它是一個問題,我的測試應用程序上下文無法加載 – NimChimpsky