特殊的 Bean 型別

DispatcherServlet 將請求的處理和適當響應的渲染委託給特殊的 bean。這裡的“特殊 bean”指的是實現框架契約的由 Spring 管理的 Object 例項。這些 bean 通常帶有內建契約,但你可以自定義它們的屬性並擴充套件或替換它們。

下表列出了 DispatcherServlet 檢測到的特殊 bean

Bean 型別 說明

HandlerMapping

將請求對映到一個 handler,並附帶一個用於前處理和後處理的攔截器列表。對映基於一些標準,其細節因 HandlerMapping 實現而異。

兩個主要的 HandlerMapping 實現是 RequestMappingHandlerMapping(支援帶有 @RequestMapping 註解的方法)和 SimpleUrlHandlerMapping(維護 URI 路徑模式到 handler 的顯式註冊)。

HandlerAdapter

幫助 DispatcherServlet 呼叫對映到請求的 handler,無論 handler 實際是如何呼叫的。例如,呼叫註解控制器需要解析註解。HandlerAdapter 的主要目的是隔離 DispatcherServlet 與這些細節。

HandlerExceptionResolver

解析異常的策略,可能將它們對映到 handler、HTML 錯誤檢視或其他目標。參見異常

ViewResolver

將 handler 返回的基於邏輯 String 的檢視名稱解析為實際的 View,以便渲染響應。參見檢視解析檢視技術

LocaleResolver, LocaleContextResolver

解析客戶端使用的 Locale 以及可能的時區,以便提供國際化檢視。參見Locale

ThemeResolver

解析你的 Web 應用可以使用的主題——例如,提供個性化佈局。參見主題

MultipartResolver

藉助某些 Multipart 解析庫解析多部分請求(例如,瀏覽器表單檔案上傳)的抽象。參見Multipart Resolver

FlashMapManager

儲存和檢索“輸入”和“輸出” FlashMap,它們可用於在請求之間傳遞屬性,通常是在重定向時。參見Flash Attributes