0

ここの指示に従いますが、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でした、実際にはバグです。

4

1 に答える 1

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はアプリケーションコンテキストを自動的に挿入します。

于 2012-12-22T15:56:44.990 に答える