1. 程式人生 > >J2EE for Spring在Idea裡無法載入applicationContext.xml問題解決(final)

J2EE for Spring在Idea裡無法載入applicationContext.xml問題解決(final)

昨天寫了一篇文章,解決idea中的無法載入application.xml的問題,無疑它能夠解決這個問題,但是後續會帶來諸多不便,假如我們刪除了web-inf中的xml,那必然會報錯。我們仍然使用當年eclipse裡的方法,這似乎有點跟不上節奏,在idea中的web.xml中我們發現有這樣一段程式碼:

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value
>
</context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

顯然在此,idea已經為我們提供瞭解決的思路,而具體方案需要查閱文件才得知,關鍵就在這個類org.springframework.web.context.ContextLoaderListener

在此,我們將不再使用舊的載入方式:

//        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"
); // employeeDao = (EmployeeDao)applicationContext.getBean("employeeDao");

而是採用這樣的載入方式:

        WebApplicationContext webApplicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
        employeeDao = (EmployeeDao)webApplicationContext.getBean
("employeeDao");

最終執行成功!

說明:這是在自定義的Servlet中載入這個檔案!