首页 文章

Spring MVC有两种配置吗?

提问于
浏览
3

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

该配置是否正常?我认为只是配置拆分mvc-config.xml和application-config.xml中的mvc内容为spring commons或?

1 回答

  • 4

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

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

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

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

相关问题