特殊 Bean 类型

DispatcherHandler 委托给特殊的 bean 来处理请求并渲染适当的响应。 这里的 "特殊 beans" 指的是由基础设施管理的实现框架合同的 Object 实例。 这些通常具有内置的合同,但您可以自定义它们的属性并扩展或替换它们。

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

Bean 类型 解释

HandlerMapping

将请求映射到处理程序,并与一组 拦截器 一起用于前后处理。映射基于某些标准,其详细信息因 HandlerMapping 实现而异。

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

HandlerAdapter

帮助 DispatcherHandler 调用映射到请求的处理程序,而不管处理程序实际上是如何调用的。 例如,调用带有注解的控制器需要解析注解。HandlerAdapter 的主要目的是保护 DispatcherHandler 免受此类细节的影响。

HandlerExceptionHandler

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

ViewResolver

解析处理程序返回的基于逻辑的 String 类型的视图名称,以确定要用于呈现响应的实际 View。 参见 视图解析View 技术

LocaleResolver, LocaleContextResolver

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

RedirectModelManager

存储和检索 “input” 和 “output” RedirectModel,可用于在重定向时将属性从一个请求传递到另一个请求。 参见 Redirect Attributes