《Spring技术内幕 深入解析Spring架构与计原理》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:计文柯编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111365709
  • 页数:399 页
图书介绍:本书由业界拥有10余年开发经验的资深Java专家亲自执笔,权威性毋庸置疑。全书以介绍Spring的基础架构和源代码实现结构开篇,不仅深入透彻地剖析了Spring IOC和Spring AOP等核心功能和Spring MVC、Spring JDBC、Spring ORM等核心组件的实现过程,而且还深入剖析了Spring安全框架Acegi和著名Spring实例Petclinic的实现过程。通过本书,读者不仅能全面了解Spring框架的优秀架构和设计思想,而且还能从Spring优雅的实现源码中一窥Java开发的精髓。无论读者是一般的Java极其相关技术开发者,还是Spring应用开发者,抑或是平台开发人员和架构师,都能从本书中受益。

第1章Spring的设计理念和整体架构 1

1.1 Spring的各个子项目 2

1.2 Spring的设计目标 5

1.3 Spring的整体架构 7

1.4 Spring的应用场景 10

1.5小结 12

第一部分Spring核心实现篇 16

第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组件实现篇 145

第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的Ses sionFactory 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应用实现篇 307

第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