Spring MVC 源碼精講
王濤
買這商品的人也買了...
-
$940$700 -
$580$452 -
$1,280$998 -
$560$420 -
$780$616 -
$588$559 -
$620$465 -
$834$792 -
$680$510 -
$520$390 -
$880$695 -
$520$411 -
$654$621 -
$828$787 -
$458Spring Boot 開發與測試實戰
-
$708$673 -
$708$673 -
$600$468 -
$704Java 高並發核心編程 捲1(加強版):NIO、Netty、Redis、ZooKeepe
-
$556搞定系統設計:面試敲開大廠的門
-
$352二進制安全基礎
-
$580$458 -
$880$695 -
$800$600 -
$850$638
相關主題
商品描述
本書從搭建Spring MVC測試環境開始講解,具備充分的Spring MVC使用說明,並且對Spring MVC核心源碼進行分析。在Spring MVC開發過程中常用SpringXML模式和Spring註解模式,本書關於Spring MVC的用例說明大多數基於SpringXML模式。 本書內容包含Spring MVC中的九大核心組件的使用和源碼分析、Spring MVC中的註冊器分析和Spring MVC中常見的輔助接口分析,可以幫助讀者快速掌握Spring MVC框架的基本使用以及Spring MVC框架中常見接口的處理邏輯。 書中的源碼分析大部分情況下遵循測試用例優先,盡可能保證源碼可復現。 本書適合具有一定Java編程基礎的讀者、對Spring框架有基礎開發能力的讀者和對Spring Web開發有一定實踐經驗的讀者閱讀、參考。
目錄大綱
目錄
第1章Spring MVC環境搭建
1.1源碼環境下搭建Spring MVC工程
1.2Spring MVC環境搭建中的其他問題
小結
第2章Spring MVC容器初始化
2.1DispatcherServlet
2.1.1DispatcherServlet 靜態代碼塊分析
2.1.2DispatcherServlet構造函數分析
2.2HttpServletBean中init()方法分析
2.2.1FrameworkServlet 中 initServletBean()方法分析
2.2.2FrameworkServlet#configureAndRefreshWebApplicationContext()
方法分析
2.2.3FrameworkServlet#findWebApplicationContext()方法分析
2.2.4FrameworkServlet#createWebApplicationContext()方法分析
2.2.5FrameworkServlet#onRefresh()方法分析
2.3Spring MVC常規啟動環境搭建
2.4ContextLoaderListener 分析
2.5DispatcherServlet#onRefresh()分析
2.6AbstractRefreshableApplicationContext#loadBeanDefinitions()的拓展
2.7Spring MVC XML模式容器啟動流程總結
2.8EnableWebMvc註解
2.9WebMvcConfigurationSupport 分析
小結
第3章HandlerMapping 分析
3.1註冊HandlerMapping
3.2getHandler()尋找處理器
3.2.1Match 異常模擬
3.2.2handleNoMatch()分析
3.2.3addMatchingMappings()分析
3.2.4創建HandlerExecutionChain對象
3.2.5跨域處理
3.3AbstractUrlHandlerMapping 中的HandlerMapping分析
3.3.1lookupHandler()分析
3.3.2buildPathExposingHandler()分析
3.4HandlerMapping 初始化
3.5BeanNameUrlHandlerMapping分析
3.6RequestMappingHandlerMapping分析
3.7RouterFunctionMapping分析
3.8註解模式下HandlerMethod創建
3.8.1findBridgedMethod()分析
3.8.2initMethodParameters()分析
3.8.3evaluateResponseStatus()分析
3.8.4initDescription()分析
3.9攔截器相關分析
3.9.1攔截器添加
3.9.2攔截器執行
小結
第4章HandlerAdapter 分析
4.1初識 HandlerAdapter
4.2初始化 HandlerAdapter
4.3獲取 HandlerAdapter
4.4HttpRequestHandlerAdapter 分析
4.5SimpleControllerHandlerAdapter 分析
4.6Controller 接口分析
4.6.1ServletForwardingController 分析
4.6.2ParameterizableViewController 分析
4.6.3ServletWrappingController 分析
4.6.4UrlFilenameViewController 分析
4.7RequestMappingHandlerAdapter 分析
4.7.1initControllerAdviceCache()方法分析
4.7.2部分成員變量初始化
4.7.3handleInternal()方法分析
4.8HandlerFunctionAdapter 分析
4.9doDispatch()中HandlerAdapter相關處理
小結
第5章HandlerExceptionResolver 分析
5.1初識HandlerExceptionResolver
5.2統一異常處理
5.3HandlerExceptionResolver 初始化
5.4ExceptionHandlerExceptionResolver分析
5.4.1ExceptionHandlerExceptionResolver#afterPropertiesSet()
方法分析
5.4.2ExceptionHandlerExceptionResolver #doResolveHandlerMethodException()
分析
5.5ResponseStatusExceptionResolver分析
5.6DefaultHandlerExceptionResolver分析
5.7AbstractHandlerExceptionResolver分析
5.8SimpleMappingExceptionResolver分析
小結
第6章LocaleResolver分析
6.1初始化LocaleResolver
6.2國際化測試環境搭建
6.3LocaleChangeInterceptor分析
6.4CookieLocaleResolver 分析
6.4.1parseLocaleCookieIfNecessary()分析
6.4.2setLocaleContext()分析
6.5FixedLocaleResolver 分析
6.6SessionLocaleResolver 分析
6.7AcceptHeaderLocaleResolver 分析
6.8LocaleResolver整體處理流程分析
小結
第7章ThemeResolver 分析
7.1初始化ThemeResolver
7.2主題測試環境搭建
7.3ThemeChangeInterceptor 分析
7.4CookieThemeResolver 分析
7.5FixedThemeResolver 分析
7.6SessionThemeResolver 分析
7.7ResourceBundleThemeSource 分析
7.8ThemeResolver 整體處理流程分析
小結
第8章ViewResolver分析
8.1初始化ViewResolver
8.2ViewResolver 測試用例搭建
8.3InternalResourceViewResolver 分析
8.4UrlBasedViewResolver 分析
8.4.1buildView()方法分析
8.4.2loadView()方法分析
8.4.3applyLifecycleMethods()方法分析
8.4.4createView()方法分析
8.5XmlViewResolver 分析
8.5.1XmlViewResolver 測試用例搭建
8.5.2XmlViewResolver 初始化
8.5.3XmlViewResolver 解析操作
8.5.4XmlViewResolver 摧毀
8.6BeanNameViewResolver 分析
8.6.1BeanNameViewResolver 測試用例
8.6.2BeanNameViewResolver解析操作
8.7XsltViewResolver 分析
8.7.1XsltViewResolver 測試用例
8.7.2XsltViewResolver 解析操作
8.8AbstractCachingViewResolver分析
8.9ViewResolver 整體處理流程
小結
第9章MultipartResolver分析
9.1MultipartResolver 測試環境搭建
9.2MultipartResolver初始化
9.3CommonsMultipartResolver 分析
9.4StandardServletMultipartResolver 分析
9.5MultipartResolver整體處理流程
小結
第10章RequestToViewNameTranslator 分析
10.1RequestToViewNameTranslator測試環境搭建
10.2RequestToViewNameTranslator初始化
10.3DefaultRequestToViewNameTranslator 分析
10.4RequestToViewNameTranslator 整體處理流程分析
小結
第11章FlashMapManager分析
11.1FlashMapManager 測試環境搭建
11.2FlashMapManager 初始化
11.3SessionFlashMapManager 分析
11.4AbstractFlashMapManager分析
小結
第12章Spring MVC註冊器
12.1CorsRegistry
12.2InterceptorRegistry
12.3ResourceHandlerRegistry
12.4ViewControllerRegistry
12.5ViewResolverRegistry
小結
第13章Spring MVC資源相關分析
13.1ResourceHttpRequestHandler 分析
13.1.1InitializingBean接口實現分析
13.1.2HttpRequestHandler實現分析
13.2資源解析器責任鏈分析
13.3資源轉換器責任鏈分析
13.3.1CachingResourceTransformer分析
13.3.2CssLinkResourceTransformer 分析
13.3.3AppCacheManifestTransformer 分析
小結
第14章Model 和View分析
14.1初識 Model
14.2RedirectAttributesModelMap分析
14.3ConcurrentModel分析
14.4ExtendedModelMap分析
14.5初識 View
14.6JsonView分析
14.7JstlView分析
小結
第15章Spring MVC參數相關內容分析
15.1@InitBinder 測試用例
15.2@InitBinder 源碼分析
15.3JSR303 參數驗證用例
15.4JSR303參數驗證源碼分析
15.5@ModelAttribute 測試用例
15.6@ModelAttribute 源碼分析
15.6.1ModelFactory和ModelAttribute
15.6.2ModelAttributeMethodProcessor 分析
15.6.3createAttribute()方法分析
15.6.4constructAttribute()方法分析
15.6.5bindRequestParameters()方法分析
15.6.6validateIfApplicable()方法分析
小結
第16章Spring MVC中的HTTP消息
16.1HTTP消息編碼和解碼分析
16.1.1HTTP消息解碼
16.1.2HTTP消息編碼
16.2HTTP消息讀寫操作分析
16.2.1HTTP消息讀操作分析
16.2.2ReactiveHttpInputMessage 分析
16.2.3HTTP消息寫操作分析
16.2.4ReactiveHttpOutputMessage分析
16.3HttpMessageConverter 分析
16.3.1HttpMessageConverter 測試用例搭建
16.3.2帶有@RequestBody註解的整體流程分析
小結