特殊的Bean类型

DispatcherServlet 委托特殊的bean来处理请求并渲染适当的响应。这里所说的“特殊的bean”是指实现框架合同的由Spring管理的Object实例。这些通常带有内置合同,但您可以自定义它们的属性并扩展或替换它们。

以下表格列出了DispatcherServlet检测到的特殊bean:

Bean类型 解释

HandlerMapping

将请求映射到处理程序,并附带一系列用于前后处理的拦截器。映射基于某些标准,具体细节因HandlerMapping实现而异。

两个主要的HandlerMapping实现是RequestMappingHandlerMapping(支持@RequestMapping注解方法)和SimpleUrlHandlerMapping(维护URI路径模式到处理程序的显式注册)。

HandlerAdapter

帮助DispatcherServlet调用映射到请求的处理程序,无论处理程序实际上是如何调用的。例如,调用注解控制器需要解析注解。HandlerAdapter的主要目的是保护DispatcherServlet免受这些细节的影响。

HandlerExceptionResolver

解析异常的策略,可能将它们映射到处理程序、HTML错误视图或其他目标。参见异常

ViewResolver

将从处理程序返回的基于逻辑String的视图名称解析为实际的View,用于渲染到响应中。参见视图解析视图技术

LocaleResolver, LocaleContextResolver

解析客户端使用的Locale和可能的时区,以便能够提供国际化视图。参见区域设置

ThemeResolver

解析您的Web应用程序可以使用的主题,例如,提供个性化布局。参见主题

MultipartResolver

用于解析多部分请求(例如,浏览器表单文件上传)的抽象,借助某些多部分解析库的帮助。参见多部分解析器

FlashMapManager

存储和检索可以用于在一个请求到另一个请求之间传递属性的“输入”和“输出”FlashMap。参见Flash属性