我基于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 中为 spring commons 拆分基本的 mvc 内容还是?
最佳答案
对于 Web 应用程序来说,这很正常 - 虽然这两个文件的命名约定通常是 dispatcher-servlet.xml
和 applicationContext.xml
。
dispatcher-servlet.xml
(或您问题中的 mvc-config.xml
)是 Web 应用程序上下文的配置文件,包含特定于 Web 的 beans和 Spring MVC 的配置。它在应用程序启动时由 DispatcherServlet
加载。
applicationContext.xml
(或您问题中的application-config.xml
)是主要 Spring 应用程序上下文的配置文件,包含非 Web 业务bean(通常是服务、DAO 等)。这个文件经常被分成片段——一个片段包含应用程序中每个逻辑层的 bean。此文件通常由 web.xml
中定义的 ContextLoaderListener
加载。
Spring 自动将主应用程序上下文设置为 Web 应用程序上下文的父级。这确保了 Web 组件(例如 Controller )可以访问应用程序上下文中的业务 bean。但是,业务 bean 无法在 Web 应用程序上下文中看到 bean。
关于Spring MVC的两种配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20878176/