特殊 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, 以便渲染响应。请参阅 视图解析视图技术

LocaleResolverLocaleContextResolver

解析客户端正在使用的 Locale 以及可能的时间区,以便能够 提供国际化视图。请参阅 区域设置

ThemeResolver

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

MultipartResolver

抽象化多部分请求(例如,浏览器表单文件上传)的解析, 借助一些多部分解析库。请参阅 多部分解析器

FlashMapManager

存储和检索“输入”和“输出”FlashMap,它们可用于将 属性从一个请求传递到另一个请求,通常跨越重定向。 请参阅 Flash 属性