我必須在名爲myproj-controllers.xml,myproj-services.xml和myproj-dao.xml的myproj spring mvc應用程序中加載3個spring config xml文件。我有兩個選項來加載它們。加載spring config xmls的最佳方式是什麼?
首先使用上下文PARAM這樣
<context-param>
<param-name>contextConfigLocation</param-name>
<param-values>/WEB-INF/myproj-controllers.xml</param-values>
<param-values>/WEB-INF/myproj-services.xml</param-values>
<param-values>/WEB-INF/myproj-dao.xml</param-values>
</context-param>
和添加的ContextLoader聽衆
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
中的Myproj-servlet.xml中使用進口資源
<import resource="myproj-controllers.xml"/>
<import resource="myproj-services.xml"/>
<import resource="myproj-dao.xml"/>
或其次在web.xml
推薦哪種方法?爲什麼?在我看來,我發現導入方法更簡單,因爲我們只需要更改myproj-servlet.xml而不是web.xml。
嗨,我沒有意識到父上下文+子上下文,如果它在春天的文檔中提到我可能完全忽略它。你可以給我一個鏈接進一步閱讀?謝謝。 – tintin
@ user354161:這是在Spring參考中提到的,但不幸的是它是分散的信息,而不是在一個地方強調。不過,javadoc的[ApplicationContext](http://static.springsource.org/spring/docs/2.5.5/api/org/springframework/context/ApplicationContext.html)提到了:_父類上下文的繼承。後代中的定義總是優先考慮。例如,這意味着整個Web應用程序可以使用單個父上下文,而每個Servlet都有自己的子上下文,而該子上下文獨立於任何其他Servlet。 – 2011-09-10 19:31:54