书籍详情
Spring MVC源码精讲
作者:王涛
出版社:清华大学出版社
出版时间:2022-10-01
ISBN:9787302606482
定价:¥79.90
购买这本书可以去
内容简介
本书从搭建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开发有一定实践经验的读者阅读、参考。
作者简介
王涛,长期从事Java EE、微服务相关技术领域的开发,对Spring系列框架、MyBatis等其他开源框架都有深刻认识。
目录
第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注解的整体流程分析
小结
猜您喜欢