我创建了一个基于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东西或?
答案 0 :(得分:4)
对于Web应用程序,这是相当正常的 - 尽管这两个文件的命名约定通常是dispatcher-servlet.xml
和applicationContext.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。