特殊 Bean 类型
DispatcherServlet
委托给特殊的 bean 来处理请求并渲染适当的响应。我们所说的“特殊的 bean”是指实现框架契约的 Spring 管理的 Object
实例。这些通常带有内置的契约,但您可以自定义它们的属性并扩展或替换它们。
下表列出了 DispatcherServlet
检测到的特殊 bean:
Bean 类型 | 说明 |
---|---|
HandlerMapping | 将请求映射到处理程序,并附带用于预处理和后处理的 拦截器 列表。映射基于某些标准,具体细节因 HandlerMapping 实现而异。两个主要的 HandlerMapping 实现是 RequestMappingHandlerMapping (支持 @RequestMapping 注解的方法)和 SimpleUrlHandlerMapping (维护 URI 路径模式到处理程序的显式注册)。 |
HandlerAdapter | 帮助 DispatcherServlet 调用映射到请求的处理程序,无论处理程序的实际调用方式如何。例如,调用一个注解控制器需要解析注解。HandlerAdapter 的主要目的是将 DispatcherServlet 与这些细节隔离开。 |
HandlerExceptionResolver | 解决异常的策略,可能将其映射到处理程序、HTML 错误视图或其他目标。请参见 Exceptions。 |
ViewResolver | 将处理程序返回的基于逻辑 String 的视图名称解析为实际的 View ,以便渲染到响应中。请参见 View Resolution 和 View Technologies。 |
LocaleResolver, LocaleContextResolver | 解析客户端使用的 Locale 以及可能的时区,以便能够提供国际化视图。请参见 Locale。 |
ThemeResolver | 解析您的 web 应用程序可以使用的主题 — 例如,提供个性化布局。请参见 Themes。 |
MultipartResolver | 用于解析多部分请求(例如,浏览器表单文件上传)的抽象,借助某些多部分解析库。请参见 Multipart Resolver。 |
FlashMapManager | 存储和检索可以用于在一个请求与另一个请求之间传递属性的“输入”和“输出” FlashMap ,通常是在重定向中使用。请参见 Flash Attributes。 |