Spring技术内幕——深入解析Spring架构与设计原理
图 书 内 容
本书是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔!Java开发者社区和Spring开发者社区一致强烈推荐。
国内第一本基于Spring 3.0的著作,从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从本书中参透Spring框架的优秀架构和设计思想,而且还能从Spring优雅的实现源码中一窥Java语言的精髓。此外,本书还展示了阅读源代码的卓越方法,不仅授你以鱼,而且还授你以渔!
如果你以一种淡定的心态翻开这本书,无论你是Java程序员、Spring开发者,还是平台开发人员、系统架构师,抑或是对开源软件源代码着迷的代码狂人,都能从本书中受益。
本 书 赞 誉
作为一个有近10年历史的成功框架,Spring在Java开发中具有举足轻重的作用。本书从源代码分析入手,对Spring的架构原理和设计思想进行了全面剖析,不仅能让我们更深入、更彻底地认识Spring,领略Spring的架构之美和设计之美,而且更重要的是,它将全面提升我们的Spring开发技能。
——Spring开发者社区
这是值得所有Spring开发者反复研读的一本书。Spring是一个优秀的轻量级企业应用开发框架,是Java开发中最流行的工具之一,也是Java程序员必须熟练掌握的一门技术之一。本书从Spring实现原理的角度揭开了Spring的神秘面纱,使得我们在利用Spring进行开发时,不仅能知其然,还能知其所以然,从本质上提升我们对Spring的理解和开发水平。
——Spring中文用户组
这是所有Java程序员应该认真阅读的一本书。Spring框架主要是用Java语言来实现的,本书对大量经典的、优雅的Spring实现代码进行了赏析,不禁让我们感慨Rod Johnson(Spring之父)对Java语言的运用之精妙。如果能跟随本书穿越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
7.3.2 Hessian客户端的实现 242
7.3.3 Burlap客户端的实现 244
7.3.4 Hessian/Burlap服务器端的配置 247
7.3.5 Hessian服务器端的实现 247
7.3.6 Burlap服务器端的实现 250
7.4 Spring RMI的实现 252
7.4.1 Spring RMI客户端的配置 252
7.4.2 Spring RMI客户端的实现 253
7.4.3 Spring RMI服务器端的配置 256
7.4.4 Spring RMI服务器端的实现 257
7.5 小结 259
第8章 安全框架ACEGI的 实现 260
8.1 Spring ACEGI安全框架概述 260
8.1.1 概述 260
8.1.2 使用Spring IDE 261
8.1.3 ACEGI的Bean配置 263
8.2 配置Spring ACEGI 264
8.3 ACEGI的Web过滤器实现 267
8.4 ACEGI验证器的实现 269
8.4.1 AuthenticationManager的authenticate 269
8.4.2 DaoAuthenticationProvider的实现 271
8.4.3 读取数据库用户信息 273
8.4.4 完成用户信息的对比验证 276
8.5 ACEGI授权器的实现 277
8.5.1 与Web环境的接口FilterSecurityInterceptor 277
8.5.2 授权器的实现 280
8.5.3 投票器的实现 282
8.6 小结 283
第三部分 Spring应用篇
第9章 Spring petclinic应用实例 287
9.1 petclinic概述 287
9.2 部署环境及数据库 289
9.3 petclinic的Bean配置 290
9.4 petclinic的Web页面实现 291
9.5 petclinic的领域对象实现 293
9.6 petclinic数据库操作的实现 294
9.6.1 使用JDBC的数据库操作 294
9.6.2 使用Hibernate的数据库操作 295
9.6.3 使用JPA的数据库操作 297
9.7 小结 298
作者:计文柯
ISBN:9787111288060
丛书名:揭秘系列丛书
出版社:机械工业出版社
出版日期:2010 年1月
开本:16
页码:300
版次:1-1
定价:55元
豆瓣网讨论地址:http://www.douban.com/subject/4199483/
China-pub预订地址:http://www.china-pub.com/196261