22.2.1 WebApplicationContext中的特殊Bean类型

Spring的DispatcherServlet使用特殊的bean来处理请求并渲染合适的视图,这些bean是Spring MVC的一部分。可以通过在WebApplicationContext中进行简单配置选择这些特殊bean中的一个或多个来使用。不过,最初并不需要这样做,因为如果没有进行任何配置,Spring MVC维护一个默认的bean列表。更多细节请见下一节。首先请看下表列出的DispatcherServlet所依赖的特殊bean类型。

Table 22.1. Special bean types in the WebApplicationContext

bean类型 说明
HandlerMapping 基于一些标准将传入的请求映射到处理程序及预处理程序和后处理程序列表(处理程序拦截器),标准的细节由HandlerMapping实现而异。最受欢迎的实现支持注解控制器,但也存在其他实现。
HandlerAdapter 帮助DispatcherServlet调用映射到请求的处理程序,而不考虑实际被调用的这个处理程序的细节。例如,调用一个带注解的控制器需要解析各种注解,因此,HandlerAdapter的主要目的就是将DispatcherServlet从这些细节中屏蔽。
HandlerExceptionResolver 将异常映射到视图,也允许更复杂的异常处理代码。
ViewResolver 将基于字符串的逻辑视图名解析为实际的View类型
LocaleResolver & LocaleContextResolver 解析客户端正在使用的区域设置以及可能的时区,以便能够提供国际化的视图。
ThemeResolver 解析您的Web应用程序能够使用的主题,例如,提供个性化的布局。
MultipartResolver 解析multi-part请求,例如支持从HTML表单处理文件上传。
FlashMapManager 存储并检索可用于将属性从一个请求传递到另一个请求的“输入”和“输出”FlashMap,通常是通过重定向。

书籍推荐