-
内容大纲
SSM是Spring、Spring MVC和MyBatis框架的组合,是目前Java领域使用非常广泛也非常稳定的开源Web框架。李艳鹏、曲源、宋杨编著的《互联网轻量级SSM框架解密(Spring\Spring MVC\MyBatis源码深度剖析)/云时代架构系列》以SSM的核心代码剖析为基础,突破Java Web研发瓶颈的束缚,选取Spring、Spring MVC和MyBatis框架中易于理解的版本,深入剖析了其中各个模块的实现,从代码中挖掘常用的设计模式,为读者理解Spring系列框架的可扩展设计艺术提供了方法论和优秀实践。
本书Spring源码剖析篇基于Spring 4.3.2版本,剖析了Spring上下文、Spring AOP和Spring事务的实现,并通过实例展示了框架陷阱的隐蔽性及学习框架原理的必要性。Spring MVC源码剖析篇基于Spring MVC 3.0版本,这个版本比较简单、核心清晰,便于读者理解透彻,这里主要讲解其中的设计模式及可插拔的设计思路。MyBatis源码剖析篇基于MyBatis 3.4版本,帮助读者对SQL语言、JDBC及数据访问方式有更深入的了解,也能看到工厂、Builder、代理、装饰者等设计模式在MyBatis中的大量应用。
本书对于互联网从业者,或者传统行业的IT工程师、架构师、技术经理、技术总监,以及想深耕IT行业的技术人员都有很强的借鉴性和实用价值。 -
作者介绍
-
目录
第1篇 深入剖析Spring源码
第1章 Spring基础介绍
1.1 Spring的核心结构
1.2 Spring的领域模型
第2章 Spring上下文和容器
2.1 Spring上下文的设计
2.2 Spring容器BeanFactory的设计
2.3 Spring父子上下文与容器
第3章 Spring加载机制的设计与实现
3.1 Spring ApplicationContext的加载及源码实现
3.2 Spring XML文件标签加载解析及自定义
3.3 Spring注解的加载及自动注入
第4章 Spring Bean探秘
4.1 Spring Bean的定义和注册设计
4.2 Spring Bean的定义模型
4.3 Spring Bean的运行(获取、创建)实现
4.4 Spring Bean的依赖注入的实现
4.5 Spring Bean的初始化
第5章 Spring代理与AOP
5.1 Spring代理的设计及JDK、CGLIB动态代理
5.2 Spring AOP的设计
5.3 Spring AOP的加载和执行机制
5.3.1 Spring AOP的加载及源码解析
5.3.2 Spring AOP的创建执行及源码解析
5.4 Spring事务管理设计及源码
5.5 Spring事务传播机制
第6章 Spring实战
6.1 对Spring重复AOP问题的分析
6.2 Spring Bean循环依赖的问题
第2篇 深入剖析Spring MVC源码
第7章 MVC简介
7.1 MVC的体系结构和工作原理
7.1.1 控制器
7.1.2 视图
7.1.3 模型
7.2 Web MVC的体系结构和工作原理
第8章 Spring Web MVC工作流
8.1 组件及其接口
8.1.1 DispatcherServlet
8.1.2 处理器映射
8.1.3 处理器适配器
8.1.4 处理器与控制器
8.1.5 视图解析器
8.1.6 视图
8.2 组件间的协调通信
第9章 DispatcherServlet的实现
9.1 深入剖析GenericServlet和HttpServlet
9.1.1 HTTP和Servlet规范简介
9.1.2 Servlet和GenericServlet详解
9.1.3 HttpServlet详解
9.2 深入剖析DispatcherServlet
9.2.1 HttpServletBean详解
9.2.2 FrameworkServlet详解
9.2.3 DispatchServlet详解
9.3 根共享环境的加载
9.3.1 基于Servlet环境监听器的实现结构
9.3.2 多级Spring环境的加载方式
第10章 基于简单控制器的流程实现
10.1 通过Bean名称URL处理器映射获取处理器执行链
10.1.1 抽象处理器映射
10.1.2 抽象URL处理器映射
10.1.3 抽象探测URL处理器映射
10.1.4 Bean名称URL处理器映射
10.2 通过处理器适配器把请求转接给处理器
10.2.1 简单控制处理适配器的设计
10.2.2 表单控制器处理HTTP请求的流程
10.3 对控制器类体系结构的深入剖析
10.3.1 Web内容产生器
10.3.2 抽象控制器类
10.3.3 基本命令控制器
10.3.4 抽象表单控制器
10.3.5 简单表单控制器
第11章 基于注解控制器的流程实现
11.1 默认注解处理器映射的实现
11.2 注解处理器适配器的架构设计
11.3 深入剖析注解控制器的处理流程
11.3.1 解析处理器方法
11.3.2 解析处理器方法的参数
11.3.3 绑定、初始化领域模型和管理领域模型
11.3.4 调用处理器方法
11.3.5 处理方法返回值和隐式模型到模型或视图的映射
11.3.6 如何更新模型数据
第12章 基于HTTP请求处理器实现RPC
12.1 深入剖析RPC客户端的实现
12.2 深入剖析RPC服务端的实现
第13章 深入剖析处理器映射、处理器适配器及处理器的实现
13.1 处理器映射的实现架构
13.1.1 处理器映射实现类
13.1.2 处理器映射抽象类
13.1.3 对处理器映射类的代码剖析
13.2 处理器适配器的实现架构
13.3 深入剖析处理器
13.3.1 简单控制器
13.3.2 注解控制器
13.3.3 HTTP请求处理器
13.4 拦截器的实现架构
第14章 视图解析和视图显示
14.1 基于URL的视图解析器和视图
14.1.1 内部资源视图解析器和内部资源视图
14.1.2 瓦块视图解析器和瓦块视图
14.1.3 模板视图解析器和模板视图
14.1.4 XSLT视图解析器和XSLT视图
14.2 更多的视图解析器
14.2.1 Bean名称视图解析器
14.2.2 内容选择视图解析器
14.2.3 资源绑定视图解析器
14.2.4 XML视图解析器
第3篇 深入剖析MyBatis源码
第15章 MyBatis介绍
15.1 MyBatis的历史
15.2 MyBatis子项目
15.3 MyBatis的自身定位
15.3.1 JPA持久化框架
15.3.2 MyBatis的功能
15.3.3 MyBatis与JPA的异同
15.4 MyBatis的架构
15.4.1 模块
15.4.2 MyBatis的项目包
第16章 构建阶段
16.1 关键类
16.2 关键时序
16.3 构建的入口:SqlSessionFactoryBuilder和SqlSessionFactory
16.4 配置(Configuration)和配置构造器(XmlConfigBuilder)
16.4.1 XmlConfigBuilder的初始化
16.4.2 完整的mybatis-3-config.dtd
16.4.3 解析配置文件构建Configuration配置
16.5 SQL简介
16.6 SQL映射的构建
16.6.1 通过XML定义的SQL Mapper
16.6.2 Configuration类中与SQL Mapping相关的类
16.6.3 XmlMapperBuilder是如何工作的
16.6.4 映射注解器定义的SQL Mapper
16.6.5 小结
第17章 执行阶段
17.1 关键类
17.2 关键接口及默认实现初始化
17.2.1 SqlSession及其关联类的构建过程
17.2.2 StatementHandler语句处理器
17.3 DQL语句是如何执行的
17.3.1 查询接口
17.3.2 关键时序
17.3.3 程序执行查询的入口:DefaultSqlSession#selectList(statement)
17.3.4 生成执行语句:getMappedStatement()
17.3.5 执行器查询:Executor#query()
17.3.6 JDBC执行语句:SimpleStatementHandler#query()
17.3.7 结果集处理:DefaultResultSetHandler#handlerResultSets()
17.4 DML语句是如何执行的
17.4.1 操作接口
17.4.2 关键时序
17.4.3 程序执行更新的入口:DefaultSqlSession#update()
17.4.4 执行器执行方法:Executor#update()
17.4.5 SQL语句执行:SimpleStatementHandler#update()
17.4.6 结果集主键逻辑:Jdbc3KeyGenerator#processAfter()
17.5 小结
第18章 专题特性解析
18.1 动态SQL支持
18.1.1 XmlScriptBuilder解析配置
18.1.2 NodeHandler构建SqlNode树
18.1.3 SqlNode处理SQL语句
18.2 MyBatis的缓存支持
18.2.1 本地缓存
18.2.2 二级缓存
18.3 结果集支持:Object、List、Map和Cursor
18.4 自定义扩展点及接口
第19章 作为中间件如何承上启下
19.1 MyBatis与底层的JDBC
19.1.1 java.sql.DataSource
19.1.2 java.sql.Connection
19.1.3 java.sql.Statement
19.1.4 java.sql.Resultset
19.2 MyBatis的主流集成方式
19.2.1 mybatis-spring简介
19.2.2 Spring对JDBC的支持
19.2.3 mybatis-spring与Spring
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...