Spring技术内幕——深入解析Spring架构与设计原理
出版社:机械工业出版社
作者:计文柯 著
标准书号:978-7-111-28806-0
定价:55.00元
图书内容:
本书是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔!Java开发者社区和Spring开发者社区一致强烈推荐。
国内第一本基于Spring 3.0的著作,从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从本书中参透Spring框架的优秀架构和设计思想,而且还能从Spring优雅的实现源码中一窥Java语言的精髓。此外,本书还展示了阅读源代码的卓越方法,不仅授你以鱼,而且还授你以渔!
如果你以一种淡定的心态翻开这本书,无论你是Java程序员、Spring开发者,还是平台开发人员、系统架构师,抑或是对开源软件源代码着迷的代码狂人,都能从本书中受益。
目录:
本书赞誉
前 言
致 谢
第1章 准备源代码环境 1
1.1 安装JDK 1
1.2 安装Eclipse 1
1.3 安装辅助工具 2
1.4 获取Spring源代码 8
1.5 Spring源代码的组织结构 10
1.6 小结 12
第一部分 Spring核心实现篇
第2章 Spring Framework的核心:IoC容器的实现 16
2.1 Spring IoC容器概述 16
2.1.1 IoC容器和依赖反转模式 16
2.1.2 Spring的IoC容器系列 18
2.2 IoC容器系列的实现:BeanFactory
和ApplicationContext 20
2.2.1 BeanFactory对IoC容器的功能定义 20
2.2.2 IoC容器XmlBeanFactory的工作原理 22
2.2.3 ApplicationContext的特点 24
2.3 IoC容器的初始化 25
2.3.1 BeanDefinition的Resource定位 26
2.3.2 BeanDefinition的载入和解析 33
2.3.3 BeanDefinition在IoC容器中的注册 47
2.4 IoC容器的依赖注入 49
2.5 容器其他相关特性的实现 70
2.5.1 lazy-init属性和预实例化 70
2.5.2 FactoryBean的实现 73
2.5.3 BeanPostProcessor的实现 75
2.5.4 autowiring的实现原理 78
2.6 小结 80
第3章 Spring AOP的实现 82
3.1 Spring AOP概述 82
3.1.1 AOP概念回顾 82
3.1.2 Advice通知 84
3.1.3 Pointcut切点 88
3.1.4 Advisor通知器 90
3.2 建立AopProxy代理对象 92
3.2.1 配置ProxyFactoryBean 92
3.2.2 ProxyFactoryBean生成AopProxy 94
3.2.3 JDK生成AopProxy代理对象 98
3.2.4 CGLIB生成AopProxy代理对象 99
3.3 Spring AOP拦截器调用的实现 101
3.3.1 JdkDynamicAopProxy的invoke拦截 101
3.3.2 Cglib2AopProxy的intercept拦截 103
3.3.3 目标对象方法的调用 105
3.3.4 AOP拦截器链的调用 105
3.3.5 配置通知器 107
3.3.6 Advice通知的实现 112
3.3.7 ProxyFactory实现AOP 118
3.4 Spring AOP的高级特性 120
3.5 小结 121
第二部分 Spring组件实现篇
第4章 Spring MVC与Web环境 127
4.1 概述 127
4.2 Web环境中的Spring MVC 128
4.3 IoC容器在Spring MVC中的启动 130
4.3.1 Web容器中的上下文 130
4.3.2 ContextLoader建立Web环境的根上下文 132
4.4 Spring Web MVC的启动 136
4.4.1 DispacherServlet概述 136
4.4.2 DispacherServlet的启动和初始化 137
4.5 Spring MVC的实现 141
4.5.1 DispatcherSevlet的MVC初始化 141
4.5.2 HandlerMapping的配置 143
4.5.3 使用HandlerMapping完成请求的映射处理 148
4.5.4 Spring MVC对HTTP请求的分发处理 150
4.6 Spring MVC视图的呈现 155
4.6.1 DispatcherServlet视图呈现概述 155
4.6.2 JSP视图的实现 157
4.6.3 ExcelView的实现 160
4.6.4 PDF视图的实现 163
4.7 小结 165
第5章 数据库操作组件的实现 167
5.1 Spring JDBC和Spring ORM概述 167
5.2 Spring JDBC模板类的实现 167
5.2.1 JdbcTeamplate的基本使用 167
5.2.2 JdbcTemplate的execute实现 168
5.2.3 JdbcTemplate的query实现 170
5.2.4 使用数据库Connection 171
5.3 Spring JDBC中RDBMS操作对象的实现 172
5.3.1 SqlQuery的实现 173
5.3.2 SqlUpdate的实现 177
5.3.3 SqlFunction 178
5.4 Spring驱动Hibernate的实现 179
5.4.1 配置Hibernate的SessionFactory 180
5.4.2 HibernateTemplate的实现 185
5.4.3 Session的管理 187
5.5 Spring驱动iBatis的实现 190
5.5.1 创建SqlMapClient 190
5.5.2 SqlMapClientTemplate的实现 192
5.6 小结 194
第6章 Spring事务处理的 实现 196
6.1 Spring与事务处理 196
6.2 声明式事务处理的基本过程 196
6.2.1 事务处理拦截器的配置 197
6.2.2 事务处理配置的读入 200
6.3 事务处理拦截器的实现 203
6.4 事务处理的实现 206
6.4.1 事务处理的编程式使用 206
6.4.2 事务的创建 207
6.4.3 事务的挂起 214
6.4.4 事务的提交 215
6.4.5 事务的回滚 218
6.5 具体事务处理器的实现 219
6.5.1 DataSourceTransactionManager的实现 219
6.5.2 HibernateTransactionManager的实现 222
6.6 小结 227
第7章 Spring远端调用的 实现 230
7.1 Spring远端调用概述 230
7.2 Spring HTTP 调用器的实现原理 232
7.2.1 配置HTTP调用器客户端 232
7.2.2 HTTP调用器客户端的实现 232
7.2.3 配置HTTP调用器远端服务器端 237
7.2.4 HTTP调用器服务器端的实现 237
7.3 Spring Hession/Burlap的实现 原理 241
7.3.1 Hessian/Burlap客户端的配置 241