將Spring的配置拆分爲多個xml文件的正確方法是什麼?將applicationContext拆分爲多個文件
目前,我有
/WEB-INF/foo-servlet.xml
/WEB-INF/foo-service.xml
/WEB-INF/foo-persistence.xml
我web.xml
有以下幾點:
<servlet>
<description>Spring MVC Dispatcher Servlet</description>
<servlet-name>intrafest</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/foo-*.xml
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/foo-*.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
個實際的問題:
- 是這種方法正確/最佳?
- 我真的需要指定
DispatcherServlet
和context-param
部分中的配置位置嗎?
我需要記住什麼才能引用foo-servlet.xml
中定義的豆類從foo-service.xml
?這是否與在web.xml
中指定contextConfigLocation
有關?
更新1:
我使用春框架3.0。這是我的理解,我不需要做這樣的資源導入:
<import resource="foo-services.xml"/>
這是一個正確的假設?
+1 - 我的設置看起來就像這樣。雖然我認爲這個設置與在web.xml中指定多個配置文件沒有任何實際的優勢/劣勢 - 它看起來像語義 – 2009-03-04 04:48:02
我絕對認爲默認配置是有利的:約定優於配置。而不是用* extra config *指定多個配置文件,你只有一個* default *「頂級」配置文件,它將導入那些你必須指定的相同文件。 – eljenso 2009-03-04 08:12:04
當你使用導入時要小心,不要多次導入同一個文件,(導入導入等等),因爲它會導致創建多個bean,並且會導致很難發現錯誤。 – 2011-01-07 10:30:57