书刊介绍
《Spring技术内幕》内容简介
《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》中参透Spring框架的优秀架构和设计思想,还能从Spring优雅的实现源码中一窥Java语言的精髓。《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》在开篇之前对Spring的设计理念和整体架构进行了全面的介绍,能让读者从宏观上厘清Spring各个功能模块之间的关系。第一部分详细分析了Spring的核心:IoC容器和AOP的实现,能帮助读者了解Spring的运行机制;第二部分深入阐述了各种基于IoC容器和AOP的JavaEE组件在Spring和的实现原理,第三部分讲述了ACEGI安全框架、DM模块以及Flex模块等基于Spring的典型应用的设计与实现。无论你是Java程序员、Spring开发者,还是平台开发人员、系统架构师,抑或是对开源软件源代码着迷的代码狂人,都能从《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》中受益。
《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》是国内唯一一本系统分析Spring源代码的著作,也是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔,Java开发者社区和Spring开发者社区联袂推荐。《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》第1版不仅在内容上获得了读者的广泛好评,而且在销量上也摘取了同类书的桂冠,曾经一度掀起Java类图书的销售热潮。第2版不仅继承了第1版在内容组织和写作方式上的优点,而且还根据广大读者的反馈改进了若干细节上的不足。更为重要的是,结合Spring的最新版本对过时的内容进行了更新,并增加了大量新内容,使《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》更趋近于完美。
计文柯,资深软件开发专家和项目经理,拥有10余年开发经验,对Spring等开源软件的应用和实现原理有深入研究和独到见解。产品研发和项目管理经验丰富,曾任职于华为技术、摩托罗拉等知名企业和硅谷移动互联网创业公司,在软件工程和项目管理方面积累了大量最佳实践。现在正在学习云计算,准备迎接即将爆发的计算革命。闲暇之余,他非常享受历史书籍带给他的快乐!作品目录
前言
第1章:Spring的设计理念和整体架构
1.1、Spring的各个子项目
1.2、Spring的设计目标
1.3、Spring的整体架构
1.4、Spring的应用场景
1.5、小结
第一部分
Spring核心实现篇
第2章:Spring
Framework的核心:IoC容器的实现
2.1、Spring
IoC容器概述
2.1.1、IoC容器和依赖反转模式
2.1.2、Spring
IoC的应用场景
2.2、IoC容器系列的设计与实现:BeanFactory和ApplicationContext
2.2.1、Spring的IoC容器系列
2.2.2、Spring
IoC容器的设计
2.3、IoC容器的初始化过程
2.3.1、BeanDefinition的Resource定位
2.3.2、BeanDefinition的载入和解析
2.3.3、BeanDefinition在IoC容器中的注册
2.4、IoC容器的依赖注入
2.5、容器其他相关特性的设计与实现
2.5.1、ApplicationContext和Bean的初始化及销毁
2.5.2、lazy-init属性和预实例化
2.5.3、FactoryBean的实现
2.5.4、BeanPostProcessor的实现
2.5.5、autowiring(自动依赖装配)的实现
2.5.6、Bean的依赖检查
2.5.7、Bean对IoC容器的感知
2.6、小结
第3章:Spring
AOP的实现
3.1、Spring
AOP概述
3.1.1、AOP概念回顾
3.1.2、Advice通知
3.1.3、Pointcut切点
3.1.4、Advisor通知器
3.2、Spring
AOP的设计与实现
3.2.1、JVM的动态代理特性
3.2.2、Spring
AOP的设计分析
3.2.3、Spring
AOP的应用场景
3.3、建立AopProxy代理对象
3.3.1、设计原理
3.3.2、配置ProxyFactoryBean
3.3.3、ProxyFactoryBean生成AopProxy代理对象
3.3.4、JDK生成AopProxy代理对象
3.3.5、CGLIB生成AopProxy代理对象
3.4、Spring
AOP拦截器调用的实现
3.4.1设计原理
3.4.2、JdkDynamicAopProxy的invoke拦截
3.4.3、Cglib2AopProxy的intercept拦截
3.4.4、目标对象方法的调用
3.4.5、AOP拦截器链的调用
3.4.6、配置通知器
3.4.7、Advice通知的实现
3.4.8、ProxyFactory实现AOP
3.5、Spring
AOP的高级特性
3.6、小结
第二部分
Spring组件实现篇
第4章:Spring
MVC与Web环境
4.1、Spring
MVC概述
4.2、Web环境中的Spring
MVC
4.3、上下文在Web容器中的启动
4.3.1、IoC容器启动的基本过程
4.3.2、Web容器中的上下文设计
4.3.3、ContextLoader的设计与实现
4.4、Spring
MVC的设计与实现
4.4.1、Spring
MVC的应用场景
4.4.2、Spring
MVC设计概览
4.4.3、DispatcherServlet的启动和初始化
4.4.4、MVC处理HTTP分发请求
4.5、Spring
MVC视图的呈现
4.5.1、DispatcherServlet视图呈现的设计
4.5.2、JSP视图的实现
4.5.3、ExcelView的实现
4.5.4、PDF视图的实现
4.6、小结
第5章:数据库操作组件的实现
5.1、Spring
JDBC的设计与实现
5.1.1、应用场景
5.1.2、设计概要
5.2、Spring
JDBC中模板类的设计与实现
5.2.1、设计原理
5.2.2、JdbcTemplate的基本使用
5.2.3、JdbcTemplate的execute实现
5.2.4、JdbcTemplate的query实现
5.2.5、使用数据库Connection
5.3、Spring
JDBC中RDBMS操作对象的实现
5.3.1、SqlQuery的实现
5.3.2、SqlUpdate的实现
5.3.3、SqlFunction
5.4、Spring
ORM的设计与实现
5.4.1、应用场景
5.4.2、设计概要
5.5、Spring驱动Hibernate的设计与实现
5.5.1、设计原理
5.5.2、Hibernate的SessionFactory
5.5.3、HibernateTemplate的实现
5.5.4、Session的管理
5.6、Spring驱动iBatis的设计与实现
5.6.1、设计原理
5.6.2、创建SqlMapClient
5.6.3、SqlMapClientTemplate的实现
5.7、小结
第6章:Spring事务处理的实现
6.1、Spring与事务处理
6.2、Spring事务处理的设计概览
6.3、Spring事务处理的应用场景
6.4、Spring声明式事务处理
6.4.1、设计原理与基本过程
6.4.2、实现分析
6.5、Spring事务处理的设计与实现
6.5.1、Spring事务处理的编程式使用
6.5.2、事务的创建
6.5.3、事务的挂起
6.5.4、事务的提交
6.5.5、事务的回滚
6.6、Spring事务处理器的设计与实现
6.6.1、Spring事务处理的应用场景
6.6.2、DataSourceTransactionManager的实现
6.6.3、HibernateTransactionManager的实现
6.7、小结
第7章:Spring远端调用的实现
7.1、Spring远端调用的应用场景
7.2、Spring远端调用的设计概览
7.3、Spring远端调用的实现
7.3.1、Spring
HTTP调用器的实现
7.3.2、Spring
Hession/Burlap的实现原理
7.3.3、Spring
RMI的实现
7.4、小结
第三部分
Spring应用实现篇
8.1、Spring
ACEGI安全框架概述
8.1.1、概述
8.1.2、设计原理与基本实现过程
8.1.3、ACEGI的Bean配置
8.2、配置Spring
ACEGI
8.3、ACEGI的Web过滤器实现
8.4、ACEGI验证器的实现
8.4.1、AuthenticationManager的authenticate
8.4.2、DaoAuthenticationProvider的实现
8.4.3、读取数据库用户信息
8.4.4、完成用户信息的对比验证
8.5、ACEGI授权器的实现
8.5.1、与Web环境的接口FilterSecurityInterceptor
8.5.2、授权器的实现
8.5.3、投票器的实现
8.6、小结
第9章:Spring
DM模块的设计与实现
9.1、Spring
DM模块的应用场景
9.2、Spring
DM的应用过程
9.3、Spring
DM
设计与实现
9.4、小结
第10章:Spring
Flex的设计与实现
10.1、Spring
Flex模块的应用场景
10.2、Spring
Flex的应用过程
10.3、Spring
Flex的设计与实现
10.4、小结
附录A
Spring项目的源代码环境
附录B
构建Spring项目的发布包
附录C
使用Spring
IDE
附录D
Spring
Pet
Clinic应用实例