标题：Spring技术内幕：深入解析Spring架构与设计原理
出版信息
ISBN：9787111365709
定价：69.00元
作者：计文柯
出版社：机械工业出版社
出版时间：2012年02月
开卷分类：计算机
内容简介
本书是国内唯一一本系统分析Spring源代码的著作，也是Spring领域的问鼎之作，由业界拥有10余年开发经验的资深Java专家亲自执笔，Java开发者社区和Spring开发者社区联袂推荐。本书第1版不仅在内容上获得了读者的广泛好评，而且在销量上也摘取了同类书的桂冠，曾经一度掀起Java类图书的销售热潮。第2版不仅继承了第1版在内容组织和写作方式上的优点，而且还根据广大读者的反馈改进了若干细节上的不足。更为重要的是，结合Spring的最新版本对过时的内容进行了更新，并增加了大量新内容，使本书更趋近于完美。书从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从本书中参透Spring框架的优秀架构和设计思想，还能从Spring优雅的实现源码中一窥Java语言的精髓。本书在开篇之前对Spring的设计理念和整体架构进行了全面的介绍，能让读者从宏观上厘清Spring各个功能模块之间的关系；第一部分详细分析了Spring的核心：IoC容器和AOP的实现，能帮助读者了解Spring的运行机制；第二部分深入阐述了各种基于IoC容器和AOP的Java EE组件在Spring中的实现原理；第三部分讲述了ACEGI安全框架、DM模块以及Flex模块等基于Spring的典型应用的设计与实现。论你是Java程序员、Spring开发者，还是平台开发人员、系统架构师，抑或是对开源软件源代码着迷的代码狂人，都能从本书中受益。
作者简介
计文柯：资深软件开发专家和项目经理，拥有10余年业界经验，对Spring等开源软件的应用和实现原理有深入研究和独到见解。产品研发和项目管理经验丰富，曾就职于华为、摩托罗拉等知名企业和硅谷移动互联网创业公司，在软件工程和项目管理方面积累了大量最佳实践。现与同伴一起创立并运营深圳云果科技，专注于云计算解决方案的研究与实施。
目录
前言
第1章　Spring的设计理念和整体架构 / 1
1.1　Spring的各个子项目 / 2
1.2　Spring的设计目标 / 5
1.3　Spring的整体架构 / 7
1.4　Spring的应用场景 / 10
1.5　小结 / 12
第一部分　Spring核心实现篇
第2章　Spring Framework的核心：IoC容器的实现 / 16
2.1　Spring IoC容器概述 / 17
2.1.1　IoC容器和依赖反转模式 / 17
2.1.2　Spring IoC的应用场景 / 18
2.2　IoC容器系列的设计与实现：BeanFactory和ApplicationContext / 19
2.2.1　Spring的IoC容器系列 / 19
2.2.2　Spring IoC容器的设计 / 21
2.3　IC容器的初始化过程 / 28
2.3.1　BeanDefinition的Resource定位 / 29
2.3.2　BeanDefinition的载入和解析 / 37
2.3.3　BeanDefinition在IoC容器中的注册 / 52
2.4　IoC容器的依赖注入 / 54
2.5　容器其他相关特性的设计与实现 / 75
2.5.1　ApplicationContext和Bean的初始化及销毁 / 75
2.5.2　lazy-init属性和预实例化 / 81
2.5.3　FactoryBean的实现 / 82
2.5.4　BeanPostProcessor的实现 / 85
2.5.5　autowiring（自动依赖装配）的实现 / 88
2.5.6　Bean的依赖检查 / 90
2.5.7　Bean对IoC容器的感知 / 91
2.6　小结 / 92
第3章　Spring AOP的实现 / 94
3.1　Spring AOP概述 / 95
3.1.1　AOP概念回顾 / 95
3.1.2　Advice通知 / 98
3.1.3　Pointcut切点 / 102
3.1.4　Advisor通知器 / 105
3.2　Spring AOP的设计与实现 / 106
3.2.1　JVM的动态代理特性 / 106
3.2.2　Spring AOP的设计分析 / 108
3.2.3　Spring AOP的应用场景 / 108
3.3　建立AopProxy代理对象 / 109
3.3.1　设计原理 / 109
3.3.2　配置ProxyFactoryBean / 110
3.3.3　ProxyFactoryBean生成AopProxy代理对象 / 111
3.3.4　JDK生成AopProxy代理对象 / 116
3.3.5　CGLIB生成AopProxy代理对象 / 117
3.4　Spring AOP拦截器调用的实现 / 119
3.4.1　设计原理 / 119
3.4.2　JdkDynamicAopProxy的invoke拦截 / 120
3.4.3　Cglib2AopProxy的intercept拦截 / 121
3.4.4　目标对象方法的调用 / 122
3.4.5　AOP拦截器链的调用 / 123
3.4.6　配置通知器 / 124
3.4.7　Advice通知的实现 / 129
3.4.8　ProxyFactory实现AOP / 136
3.5　Spring AOP的高级特性 / 138
3.6　小结 / 140
第二部分　Spring组件实现篇
第4章　Spring MVC与Web环境 / 145
4.1　Spring MVC概述 / 146
4.2　Web环境中的Spring MVC / 148
4.3　上下文在Web容器中的启动 / 149
4.3.1　IoC容器启动的基本过程 / 149
4.3.2　Web容器中的上下文设计 / 151
4.3.3　ContextLoader的设计与实现 / 154
4.4　Spring MVC的设计与实现 / 158
4.4.1　Spring MVC的应用场景 / 158
4.4.2　Spring MVC设计概览 / 158
4.4.3　DispatcherServlet的启动和初始化 / 160
4.4.4　MVC处理HTTP分发请求 / 166
4.5　Spring MVC视图的呈现 / 178
4.5.1　DispatcherServlet视图呈现的设计 / 178
4.5.2　JSP视图的实现 / 182
4.5.3　ExcelView的实现 / 185
4.5.4　PDF视图的实现 / 187
4.6　小结 / 189
第5章　数据库操作组件的实现 / 191
5.1　Spring JDBC的设计与实现 / 192
5.1.1　应用场景 / 192
5.1.2　设计概要 / 192
5.2　Spring JDBC中模板类的设计与实现 / 193
5.2.1　设计原理 / 193
5.2.2　JdbcTemplate的基本使用 / 193
5.2.3　JdbcTemplate的execute实现 / 194
5.2.4　JdbcTemplate的query实现 / 196
5.2.5　使用数据库Connection / 197
5.3　Spring JDBC中RDBMS操作对象的实现 / 199
5.3.1　SqlQuery的实现 / 200
5.3.2　SqlUpdate的实现 / 204
5.3.3　SqlFunction / 206
5.4　Spring ORM的设计与实现 / 208
5.4.1　应用场景 / 208
5.4.2　设计概要 / 208
5.5　Spring驱动Hibernate的设计与实现 / 209
5.5.1　设计原理 / 210
5.5.2　Hibernate的SessionFactory / 210
5.5.3　HibernateTemplate的实现 / 215
5.5.4　Session的管理 / 219
5.6　Spring驱动iBatis的设计与实现 / 222
5.6.1　设计原理 / 222
5.6.2　创建SqlMapClient / 222
5.6.3　SqlMapClientTemplate的实现 / 224
5.7　小结 / 227
第6章　Spring事务处理的实现 / 228
6.1　Spring与事务处理 / 229
6.2　Spring事务处理的设计概览 / 229
6.3　Spring事务处理的应用场景 / 230
6.4　Spring声明式事务处理 / 231
6.4.1　设计原理与基本过程 / 231
6.4.2　实现分析 / 231
6.5　Spring事务处理的设计与实现 / 241
6.5.1　Spring事务处理的编程式使用 / 241
6.5.2　事务的创建 / 242
6.5.3　事务的挂起 / 249
6.5.4　事务的提交 / 251
6.5.5　事务的回滚 / 253
6.6　Spring事务处理器的设计与实现 / 255
6.6.1　Spring事务处理的应用场景 / 255
6.6.2　DataSourceTransactionManager的实现 / 256
6.6.3　HibernateTransactionManager的实现 / 259
6.7　小结 / 265
第7章　Spring远端调用的实现 / 267
7.1　Spring远端调用的应用场景 / 268
7.2　Spring远端调用的设计概览 / 268
7.3　Spring远端调用的实现 / 271
7.3.1　Spring HTTP调用器的实现 / 271
7.3.2　Spring Hession/Burlap的实现原理 / 282
7.3.3　Spring RMI的实现 / 295
7.4　小结 / 302
第三部分　Spring应用实现篇
第8章　安全框架ACEGI的设计与实现 / 307
8.1　Spring ACEGI安全框架概述 / 308
8.1.1　概述 / 308
8.1.2　设计原理与基本实现过程 / 308
8.1.3　ACEGI的Bean配置 / 309
8.2　配置Spring ACEGI / 310
8.3　ACEGI的Web过滤器实现 / 313
8.4　ACEGI验证器的实现 / 315
8.4.1　AuthenticationManager的authenticate / 315
8.4.2　DaoAuthenticationProvider的实现 / 318
8.4.3　读取数据库用户信息 / 320
8.4.4　完成用户信息的对比验证 / 323
8.5　ACEGI授权器的实现 / 324
8.5.1　与Web环境的接口FilterSecurityInterceptor / 324
8.5.2　授权器的实现 / 327
8.5.3　投票器的实现 / 329
8.6　小结 / 330
第9章　Spring DM模块的设计与实现 /  332
9.1　Spring DM模块的应用场景 / 333
9.2　Spring DM的应用过程 / 334
9.3　Spring DM设计与实现 / 338
9.4　小结 / 348
第10章　Spring Flex的设计与实现 / 350
10.1　Spring Flex模块的应用场景 / 351
10.2　Spring Flex的应用过程 / 353
10.3　Spring Flex的设计与实现 / 355
10.4　小结 / 362
附录A　Spring项目的源代码环境 / 363
附录B　构建Spring项目的发布包 / 378
附录C　使用Spring IDE / 381
附录D　Spring Pet Clinic应用实例 / 385