Spring MVC有两种配置吗?

时间:2014-01-02 07:18:21

标签: spring maven spring-mvc

我创建了一个基于maven的简单spring-web-mvc项目。该示例包含两个配置文件。一个在src / main / resources / spring / application-config.xml中 和src / main / webapp / WEB-INF / mvc-config.xml

中的第二个

该配置是否正常?我认为只是配置拆分mvc-config.xml和spring-comm.xml的application-config.xml中的基本mvc东西或?

1 个答案:

答案 0 :(得分:4)

对于Web应用程序,这是相当正常的 - 尽管这两个文件的命名约定通常是dispatcher-servlet.xmlapplicationContext.xml

dispatcher-servlet.xml(或问题中的mvc-config.xml)是Web应用程序上下文的配置文件,包含特定于Web的bean和Spring MVC的配置。它在应用程序启动时由DispatcherServlet加载。

applicationContext.xml(或问题中的application-config.xml)是主Spring应用程序上下文的配置文件,包含非Web业务bean(通常是服务,DAO等)。此文件通常会溢出到片段中 - 包含应用程序中每个逻辑层的bean的片段。此文件通常由ContextLoaderListener中定义的web.xml加载。

Spring会自动将主应用程序上下文设置为Web应用程序上下文的父级。这可确保Web组件(如控制器)可以访问应用程序上下文中的业务bean。但是,业务bean无法在Web应用程序上下文中看到bean。