2012-02-01 59 views
0

我有一個使用Spring插件的struts2 Web項目。 applicationContext.xml文件正坐在如何在Struts2中獲得Spring ApplicationContext?

/WEB-INF/applicationContext.xml 

我怎麼會存取權限它在我的類中

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); 

似乎並沒有工作。

+1

您應該配置您的容器(即Tomcat)以在其啓動過程中加載應用程序上下文。 – 2012-02-01 20:41:48

+0

任何特定用例以這種方式加載上下文? – 2012-02-02 02:08:32

回答

1

由於不應該加載應用程序上下文,因此您並不真正瞭解這種正確的方法。但是,你有沒有嘗試過:

new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); 

我建議你添加以下到你的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> 

這將確保Spring IoC容器是當你的應用程序啓動初始化。然後,您可以使用Spring爲您的操作提供必要的依賴關係。您不需要像在做那樣獲取IOC容器,因爲這不是依賴注入。

0

只有WEB-INF/classes下的文件纔會出現在類路徑下。您最好將其移至WEB-INF/classes目錄。

您還可以使用Spring上下文偵聽器之一從web.xml加載上下文文件。 你能解釋爲什麼你要將Spring配置加載到你的webapp中?這會給我們一個更好的主意建議。

相關問題