J2EE for Spring在Idea裡無法載入applicationContext.xml問題解決(final)
阿新 • • 發佈:2019-01-08
昨天寫了一篇文章,解決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中載入這個檔案!