特殊 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 以及可能的时区,以便能够 提供国际化视图。请参阅 区域设置

MultipartResolver

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

FlashMapManager

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