内容简介 · · · · · ·
《spring技术内幕:深入解析spring架构与计原理(第2版)》是国内唯一一本系统分析spring源代码的著作,也是spring领域的问鼎之作,由业界拥有10余年开发经验的资深java专家亲自执笔,java开发者社区和spring开发者社区联袂推荐。本书第1版不仅在内容上获得了读者的广泛好评,而且在销量上也摘取了同类书的桂冠,曾经一度掀起java类图书的销售热潮。第2版不仅继承了第1版在内容组织和写作方式上的优点,而且还根据广大读者的反馈改进了若干细节上的不足。更为重要的是,结合spring的最新版本对过时的内容进行了更新,并增加了大量新内容,使本书更趋近于完美。
《spring技术内幕:深入解析spring架构与计原理(第2版)》从源代码的角度对spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从本书中参透spr...
《spring技术内幕:深入解析spring架构与计原理(第2版)》是国内唯一一本系统分析spring源代码的著作,也是spring领域的问鼎之作,由业界拥有10余年开发经验的资深java专家亲自执笔,java开发者社区和spring开发者社区联袂推荐。本书第1版不仅在内容上获得了读者的广泛好评,而且在销量上也摘取了同类书的桂冠,曾经一度掀起java类图书的销售热潮。第2版不仅继承了第1版在内容组织和写作方式上的优点,而且还根据广大读者的反馈改进了若干细节上的不足。更为重要的是,结合spring的最新版本对过时的内容进行了更新,并增加了大量新内容,使本书更趋近于完美。
《spring技术内幕:深入解析spring架构与计原理(第2版)》从源代码的角度对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章 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 IoC容器的初始化过程 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
· · · · · · (收起)
原文摘录 · · · · · ·
丛书信息
· · · · · ·
喜欢读"Spring技术内幕(第2版)"的人也喜欢 · · · · · ·
Spring技术内幕(第2版)的书评 · · · · · · ( 全部 22 条 )
转读者评论(来自互动网)
> 更多书评 22篇
论坛 · · · · · ·
在这本书的论坛里发言当前版本有售 · · · · · ·
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- 杨福川策划的图书 (出版人杨福川)
- 3.Java (葡萄)
- IT 三级 Java程序设计语言、框架技术(实用性) 1.1.1.1.2 (ajian005)
- 软件与程序设计 (华章数媒)
- 架构师系列 (逸)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于Spring技术内幕(第2版)的评论:
feed: rss 2.0
0 有用 minjingchen_0 2017-03-09 14:55:45
也就在2016年暑假实习培训的时候接触了一下SSH,当然,本书对Spring还是很详实的。“在Java EE的应用开发中,支持POJO和使用JavaBean的开发方式,使应用面向接口开发,充分支持OO(面向对象)的设计方法。” “Spring 的设计理念采用了相对EJB而言的轻量级开发思想,即使用POJO的开发方式,只需要使用简单的Java对象或者JavaBean就能进行JavaEE开发,这样开发... 也就在2016年暑假实习培训的时候接触了一下SSH,当然,本书对Spring还是很详实的。“在Java EE的应用开发中,支持POJO和使用JavaBean的开发方式,使应用面向接口开发,充分支持OO(面向对象)的设计方法。” “Spring 的设计理念采用了相对EJB而言的轻量级开发思想,即使用POJO的开发方式,只需要使用简单的Java对象或者JavaBean就能进行JavaEE开发,这样开发的入门、测试、应用部署都得到了简化。” (展开)
0 有用 夏虫 2023-04-04 11:11:51 陕西
其实梳理地挺有重点和条理地,但是!!!最关键的“IOC容器启动”中的“懒加载”竟然是完全错误的,书中P81说lazy-init的依赖注入发生在容器执行refresh的过程中,这完全是错误的!!!第一,lazy-init按字面意思就知道是延迟加载;第二,但凡作者对源码运行了,就不可能出现错误。本来觉得这本书还可以,但是,这个关键错误简直是误导人啊。
1 有用 forsee 2016-04-23 10:58:13
要说这本书废话太多也不确切----根本就全是废话. 典型的写给"专家"的书:你如果不了解spring看完了还是不了解,只有已经熟练掌握了spring的人才能看懂作者在讲什么.
0 有用 一笑生🌸 2016-06-04 09:39:57
这个周末就啃这本书。好久不用亚马逊,物流服务差了很多。
0 有用 奔月 2019-03-22 13:26:13
太多废话,很啰嗦,让人抓不住重点
0 有用 夏虫 2023-04-04 11:11:51 陕西
其实梳理地挺有重点和条理地,但是!!!最关键的“IOC容器启动”中的“懒加载”竟然是完全错误的,书中P81说lazy-init的依赖注入发生在容器执行refresh的过程中,这完全是错误的!!!第一,lazy-init按字面意思就知道是延迟加载;第二,但凡作者对源码运行了,就不可能出现错误。本来觉得这本书还可以,但是,这个关键错误简直是误导人啊。
0 有用 Better_Levi 2022-12-01 18:58:58 广东
前几章写的非常不错,后面应用部分随着Springboot的流行已经过时了。基本上把Spring的核心内容都讲了,虽然在书中源码很多,但跟着作者的思路看也不难,认真看完的话对于理解框架还是有很大帮助的。
0 有用 aKa 2021-10-31 00:02:05
弃
0 有用 轻舟已过万重山 2021-02-27 22:47:35
书籍有点老旧了,介绍的还是Spring3.0时候的内容,花了许久读完,重点在第一部分的基础aop和ioc,这部分的讲解需要反复的读几遍。书中罗列了诸多源代码,读起来挺吃力的,需要对Spring有宏观认识的人可能会好点。Springmvc的部分复习了一下,对其中的关键的流程和设计有了进一步的认识,算是一点收获。沉下心读书的时间总是过得很快!!!加油吧
0 有用 去魅 2021-02-04 15:44:37
版本太老了,而且写的比看论文还无聊。看了两章弃了