Spring MVC的两种配置?

标签 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 和 application-config.xml 中为 spring commons 拆分基本的 mvc 内容还是?

最佳答案

对于 Web 应用程序来说,这很正常 - 虽然这两个文件的命名约定通常是 dispatcher-servlet.xmlapplicationContext.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/

相关文章:

java - Controller 类级别的 Pathvariable 在 Spring Restful 上不起作用

spring - 如何避免使用 Spring Data Rest 进行 n+1 查询?

Maven - 无法解析 Artifact - cglib :cglib-nodep:jar:null

maven - Docker多阶段构建和上一阶段的安装/共享

java - 自定义 ContextLoaderListener 类在 Websphere 中不起作用

javascript - 将参数从 .js 文件传递​​到 Controller

java - SpringBoot/spring-kafka 应用程序中的 Autowiring KafkaTemplate 抛出空指针

java - Spring Data Repository 动态查找器 Oracle In 子句最大 1000

java - 为代码库设计可扩展实体

spring - @ControllerAdvice 异常处理方法不会被调用