将Spring的配置拆分为多个xml文件的正确方法是什么?
此刻我有
我web.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.xmlfrom
bean foo-service.xml
contextConfigLocationin
更新1:
我正在使用Spring Framework 3.0。据我了解,我不需要像这样进行资源导入:
<import resource="foo-services.xml"/>
这是正确的假设吗?
我发现以下设置最简单。
使用DispatcherServlet的默认配置文件加载机制:
该框架将在初始化DispatcherServlet时,在你的Web应用程序的WEB-INF目录中查找名为[servlet-name] -servlet.xml的文件,并在其中创建定义的Bean(覆盖所有使用在全球范围内具有相同的名称)。
就你而言,只需intrafest-servlet.xml在WEB-INFdir中创建一个文件,而无需在中指定任何特定信息web.xml。
intrafest-servlet.xm
WEB-INFdir
在intrafest-servlet.xml文件中,你可以使用import来组成你的XML配置。
intrafest-servlet.xml
<beans> <bean id="bean1" class="..."/> <bean id="bean2" class="..."/> <import resource="foo-services.xml"/> <import resource="foo-persistence.xml"/> </beans>
请注意,Spring团队实际上在创建(Web)ApplicationContext时更喜欢加载多个配置文件。如果你仍然希望以此方式进行操作,那么我认为你无需同时指定上下文参数(context-param)和 servlet初始化参数(init-param)。两者之一。你也可以使用逗号指定多个配置位置。
init-param