一部深度剖析Spring框架实现原理及其设计理念的Spring巨著,即将震撼登场!
turingbooks
2009-08-11
目 录
第一部分 掀起Spring的盖头来 第1章 Spring框架的由来 2 1.1 Spring之崛起 2 1.2 Spring框架概述 4 1.3 Spring大观园 6 1.4 小结 9 第二部分 Spring的IoC容器 第2章 IoC的基本概念 12 2.1 我们的理念是:让别人为你服务 12 2.2 手语,呼喊,还是心有灵犀 15 2.2.1 构造方法注入 15 2.2.2 setter方法注入 16 2.2.3 接口注入 16 2.2.4 三种注入方式的比较 17 2.3 IoC的附加值 18 2.4 小结 20 第3章 掌管大局的IoC Service Provider 21 3.1 IoC Service Provider的职责 21 3.2 运筹帷幄的秘密——IoC Service Provider 如何管理对象间的依赖关系 22 3.2.1 直接编码方式 22 3.2.2 配置文件方式 23 3.2.3 元数据方式 24 3.3 小结 25 第4章 Spring的IoC容器之 BeanFactory 26 4.1 拥有BeanFactory之后的生活 28 4.2 BeanFactory的对象注册与依赖绑 定方式 30 4.2.1 直接编码方式 30 4.2.2 外部配置文件方式 32 4.2.3 注解方式 36 4.3 BeanFactory的XML之旅 38 4.3.1 <beans>和<bean> 38 4.3.2 孤孤单单一个人 40 4.3.3 Help Me, Help You 41 4.3.4 继承?我也会! 56 4.3.5 bean的scope 58 4.3.6 工厂方法与FactoryBean 63 4.3.7 偷梁换柱之术 68 4.4 容器背后的秘密 74 4.4.1 “战略性观望” 75 4.4.2 插手“容器的启动” 76 4.4.3 了解bean的一生 84 4.5 小结 95 第5章 Spring IoC容器 ApplicationContext 96 5.1 统一资源加载策略 96 5.1.1 Spring中的Resource接口 97 5.1.2 ResourceLoader,“更广义 的URL” 98 5.1.3 ApplicationContext与 ResourceLoader 101 5.2 国际化信息支持 (I18n MessageSource) 108 5.2.1 Java SE提供的国际化支持 108 5.2.2 MessageSource与 ApplicationContext 109 5.3 容器内部事件发布 114 5.3.1 自定义事件发布 114 5.3.2 Spring的容器内事件发布类结构分析 117 5.3.3 Spring容器内事件发布的应用 119 5.4 多配置模块加载的简化 121 5.5 小结 123 第6章 Spring IoC容器之扩展篇 124 6.1 Spring 2.5的基于注解的依赖注入 124 6.1.1 注解版的自动绑定 (@Autowired) 124 6.1.2 @Autowired之外的选择 ——使用JSR250标注版 128 6.1.3 将革命进行得更彻底一些 (classpath-scanning功能 介绍) 130 6.2 Spring 3.0展望 133 6.3 小结 134 第三部分 Spring AOPFramework 第7章 一起来看AOP 136 7.1 AOP的尴尬 138 7.2 AOP走向现实 139 7.2.1 静态AOP时代 140 7.2.2 动态AOP时代 140 7.3 Java平台上的AOP实现机制 141 7.3.1 动态代理 141 7.3.2 动态字节码增强 141 7.3.3 Java代码生成 141 7.3.4 自定义类加载器 142 7.3.5 AOL扩展 142 7.4 AOP国家的公民 142 7.4.1 Joinpoint 143 7.4.2 Pointcut 145 7.4.3 Advice 146 7.4.4 Aspect 148 7.4.5 织入(Weaving)和织入器 (Weaver) 148 7.4.6 Target Object目标对象 148 7.5 小结 149 第8章 Spring AOP概述及其实现机制 150 8.1 Spring AOP概述 150 8.2 Spring AOP的实现机制 151 8.2.1 设计模式之代理模式 151 8.2.2 动态代理 154 8.2.3 动态字节码生成 156 8.3 小结 158 第9章 Spring AOP一世 159 9.1 Spring AOP中的Joinpoint 159 9.2 Spring AOP中的Pointcut 160 9.2.1 常见的Pointcut 162 9.2.2 扩展Pointcut (Customize Pointcut) 168 9.2.3 IoC容器中的Pointcut 170 9.3 Spring AOP中的Advice 170 9.3.1 per-class类型的Advice 171 9.3.2 per-instance类型的Advice 177 9.4 Spring AOP中的Aspect 181 9.4.1 PointcutAdvisor家族 182 9.4.2 IntroductionAdvisor分支 185 9.4.3 Ordered的作用 187 9.5 Spring AOP的织入 189 9.5.1 如何与ProxyFactory打交道 189 9.5.2 看清ProxyFactory的本质 194 9.5.3 容器中的Weaver—— ProxyFactoryBean 198 9.5.4 加快织入的自动化进程 205 9.6 TargetSource 211 9.6.1 可用的TargetSource实现类 212 9.6.2 自定义TargetSource 217 9.7 小结 219 第10章 Spring AOP二世 220 10.1 @AspectJ形式的Spring AOP 220 10.1.1 @AspectJ形式AOP使用之 先睹为快 221 10.1.2 @AspectJ形式的Pointcut 224 10.1.3 @AspectJ形式的Advice 234 10.1.4 @AspectJ中的Aspect更多 话题 244 10.2 基于Schema的AOP 247 10.2.1 基于Schema的AOP配置 概览 248 10.2.2 向基于Schema的AOP迁移 250 10.2.3 @AspectJ到“基于Schema的AOP”迁移 252 10.3 小结 261 第11章 AOP应用案例 263 11.1 异常处理 263 11.2 安全检查 265 11.3 缓存 266 11.4 小结 267 第12章 Spring AOP扩展篇 268 12.1 有关公开当前调用的代理 对象的探讨 268 12.1.1 问题的现象 268 12.1.2 原因的分析 270 12.1.3 解决方案 271 12.2 小结 272 第四部分 使用Spring访问数据 第13章 统一的数据访问异常层次体系 274 13.1 DAO模式的背景 274 13.2 梦想照进现实 276 13.3 发现问题,解决问题 277 13.4 不重新发明轮子 280 13.5 小结 282 第14章 JDBC API的最佳实践 283 14.1 基于Template的JDBC使用方式 283 14.1.1 JDBC的尴尬 283 14.1.2 JdbcTemplate的诞生 287 14.1.3 JdbcTemplate和它的兄弟 301 14.1.4 Spring中的DataSource 325 14.1.5 JdbcDaoSupport 330 14.2 基于操作对象的JDBC使用方式 331 14.2.1 基于操作对象的查询 332 14.2.2 基于操作对象的更新 340 14.2.3 基于操作对象的存储 过程调用 343 14.3 小结 346 第15章 Spring对各种ORM的集成 347 15.1 Spring对Hibernate的集成 348 15.1.1 旧日“冬眠”时光 348 15.1.2 “春天”里的“冬眠” 352 15.2 Spring对iBATIS的集成 360 15.2.1 iBATIS实践之“前生”篇 361 15.2.2 iBATIS实践之“今世”篇 362 15.3 Spring中对其他ORM方案的 集成概述 368 15.3.1 Spring对JDO的集成 369 15.3.2 Spring对TopLink的集成 372 15.3.3 Spring对JPA的集成 374 15.4 小结 376 第16章 Spring数据访问扩展篇 377 16.1 活用模板方法模式及Callback 377 16.1.1 FTPClientTemplate 377 16.1.2 HttpClientTemplate 381 16.2 数据访问中的多数据源 383 16.2.1 “主权独立”的多数据源 383 16.2.2 “合纵连横”的多数据源 384 16.2.3 结束语 387 16.3 Spring 3.0展望 389 16.4 小结 390 第五部分 事务管理 第17章 有关事务的楔子 392 17.1 认识事务本身 392 17.2 初识事务家族成员 394 17.3 小结 396 第18章 群雄逐鹿下的Java事务管理 397 18.1 Java平台的局部事务支持 397 18.2 Java平台的分布式事务支持 400 18.2.1 基于JTA的分布式事务管理 400 18.2.2 基于JCA的分布式事务管理 402 18.3 继续前行之前的反思 402 18.4 小结 403 第19章 Spring事务王国的架构 404 19.1 统一中原的过程 405 19.2 和平年代 410 19.2.1 TransactionDefinition 411 19.2.2 TransactionStatus 416 19.2.3 PlatformTransac- tionManager 417 19.3 小结 428 第20章 使用Spring进行事务管理 429 20.1 编程式事务管理 429 20.1.1 直接使用PlatformTran- sactionManager进行编程式事务管理 429 20.1.2 使用TransactionTemp- late进行编程式事务管理 430 20.1.3 编程创建基于Savepoint的嵌套事务 432 20.2 声明式事务管理 433 20.2.1 引子 434 20.2.2 XML元数据驱动的声明 式事务 436 20.2.3 注解元数据驱动的声明 式事务 448 20.3 小结 452 第21章 Spring事务管理之扩展篇 453 21.1 理解并活用ThreadLocal 453 21.1.1 理解ThreadLocal的存在背景 453 21.1.2 理解ThreadLocal的实现 454 21.1.3 ThreadLocal的应用场景 455 21.1.4 使用ThreadLocal 管理多数据源切换的条件 457 21.2 谈Strategy模式在开发过程中的应用 459 21.3 Spring与JTA背后的奥秘 463 21.4 小结 468 第六部分 Spring的Web MVC框架 第22章 迈向Spring MVC的旅程 470 22.1 Servlet独行天下的时代 470 22.2 繁盛一时的JSP时代 473 22.3 Servlet与JSP的联盟 477 22.4 数英雄人物,还看今朝 479 22.5 小结 481 第23章 Spring MVC初体验 482 23.1 鸟瞰Spring MVC 483 23.2 实践出真知 487 23.2.1 Spring MVC应用的 物理结构 488 23.2.2 按部就班地开始工作 493 23.3 本章小结 502 第24章 近距离接触Spring MVC 主要角色 503 24.1 忙碌的协调人HandlerMapping 503 24.1.1 可用的HandlerMapping 504 24.1.2 HandlerMapping执行序列(Chain Of HandlerMapping) 506 24.2 我们的亲密伙伴Controller 507 24.2.1 AbstractController 509 24.2.2 MultiActionController 512 24.2.3 SimpleFormController 521 24.2.4 AbstractWizardForm- Controller 542 24.2.5 其他可用的Controller 实现 549 24.3 ModelAndView 551 24.3.1 ModelAndView中的 视图信息 552 24.3.2 ModelAndView中的 模型数据 552 24.4 视图定位器ViewResolver 553 24.4.1 可用的ViewResolver 实现类 554 24.4.2 ViewResolver查找序列 (Chain Of ViewResolver) 558 24.5 各司其职的View 559 24.5.1 View实现原理回顾 559 24.5.2 可用的View实现类 562 24.5.3 自定义View实现 569 24.6 小结 571 第25章 认识更多Spring MVC家族 成员 572 25.1 文件上传与MultipartResolver 573 25.1.1 使用MultipartResolver 进行文件上传的简单分析 574 25.1.2 文件上传实践 576 25.2 Handler与HandlerAdaptor 578 25.2.1 问题的起源 578 25.2.2 深入了解Handler 580 25.2.3 近看HandlerAdaptor 的奥秘 582 25.2.4 告知Handler与 HandlerAdaptor的存在 583 25.3 框架内处理流程拦截与 HandlerInterceptor 585 25.3.1 可用的Handler- Interceptor实现 586 25.3.2 自定义实现Handler- Interceptor 588 25.3.3 HandlerInterceptor 寻根 589 25.3.4 HandlerInterceptor 之外的选择 590 25.4 框架内的异常处理与 HandlerExceptionResolver 594 25.5 国际化视图与LocalResolver 598 25.5.1 可用的LocaleResolver 599 25.5.2 LocaleResolver的足迹 600 25.5.3 Locale的变更与 LocaleChangeHandler 601 25.6 主题(Theme)与ThemeResolver 602 25.6.1 提供主题资源的 ThemeSource 602 25.6.2 管理主题的 ThemeResolver 605 25.6.3 切换主题的ThemeChange- Interceptor 606 25.7 小结 607 第26章 Spring MVC中基于 注解的Controller 608 26.1 初识基于注解的Controller 608 26.2 “基于注解的Controller 原型分析 609 26.2.1 自定义用于基于注解的Contr- oller的HandlerMapping 610 26.2.2 自定义用于基于注解的Controller 的HandlerAdaptor 612 26.3 近看基于注解的Controller 615 26.3.1 声明基于注解的Controller 615 26.3.2 请求参数到方法参数的绑定 621 26.3.3 使用@ModelAttribute 访问模型数据 624 26.3.4 通过@SessionAttribute 管理Session数据 627 26.4 小结 629 第27章 Spring MVC扩展篇 630 27.1 Spring MVC也Convention Over Configuration 630 27.1.1 Convention Over Configuration简介 630 27.1.2 Spring MVC中的Convention Over Configuration 631 27.2 Spring 3.0展望 634 27.3 小结 635 第七部分 Spring的We Spring框架 对J2EE服务的集成和支持 第28章 Spring框架内的JNDI支持 638 28.1 JNDI简单回顾 638 28.2 Spring框架内JNDI访问的基石 ——JndiTemplate 639 28.3 JNDI对象的依赖注入 ——JndiObjectFactoryBean 641 28.4 小结 642 第29章 Spring框架对JMS的集成 643 29.1 说说JMS的身世 643 29.2 使用JMS API进行应用开发的传统 套路 645 29.3 Spring改进后的JMS实战格斗术 646 29.3.1 消息发送和同步接收 646 29.3.2 异步消息接收 656 29.3.3 JMS相关异常处理 663 29.3.4 框架内的事务管理支持 664 29.4 小结 664 第30章 使用Spring发送E-mail 665 30.1 思甜前,先忆苦 665 30.2 Spring的E-mail抽象层分析 667 30.2.1 直接创建邮件消息并发送 669 30.2.2 使用MimeMessage- Preparator发送邮件 671 30.3 Spring的E-mail支持在实际开发 中的应用 672 30.4 小结 678 第31章 Spring中的任务调度和 线程池支持 679 31.1 Spring与Quartz 679 31.1.1 初识Quartz 679 31.1.2 融入Spring大家庭的Quartz 682 31.2 Spring对JDK Timer的集成 688 31.2.1 JDK Timer小记 688 31.2.2 Spring集成后的JDK Timer 689 31.3 Executor的孪生兄弟 TaskExecutor 691 31.3.1 可用的TaskExecutor 692 31.3.2 TaskExecutor使用实例 695 31.4 小结 696 第32章 Spring框架对J2EE服务 的集成之扩展篇 697 32.1 MailMonitor的延伸 697 32.2 Spring 3.0展望 699 32.3 小结 700 第33章 Spring远程方案 701 33.1 从“对面交谈”到“千里传声” 701 33.2 Spring Remoting架构分析 703 33.2.1 Spring Remoting之远程访问异常体系 704 33.2.2 统一风格的远程服务公开与访问方式 704 33.3 Spring Remoting提供的远程 服务支持 706 33.3.1 基于RMI的Remoting方案 707 33.3.2 基于HTTP的轻量级 Remoting方案 709 33.3.3 基于Web服务的远程方案 714 33.3.4 基于JMS的远程方案 717 33.4 扩展Spring Remoting 720 33.5 Spring Remoting之扩展篇 723 33.5.1 拉开JMX演出的序幕 723 33.5.2 Spring 3.0展望 724 参考文献 725 |
|
turingbooks
2009-08-11
先小范围地公开一下目录,请各位先一饱眼福
|
|
carmark
2009-08-12
这么多章呀!!!
|
|
turingbooks
2009-08-12
很全面哦
|
|
linux1689
2009-08-12
toby941 写道 引用 昨天我把本书的目录拿给Rod Johnson看了,他看得很仔细,看完后非常激动,连声称赞:It looks very great!
很仔细 很激动就因为一个目录 而且还是中翻英的? 持怀疑态度 现在国内这计算机类的原创总是想尽办法给自己造势,听起来很牛B,上过两回当就再也不买国人写的书了 这本书绝对不是吹的,看了你的人如果不夸这本书写得好,那真不厚道。 |
|
iaimstar
2009-08-12
看了目录就吐血了
为什么书不能拆开出版 根据内容分册,需要的时候买想看的部分? 每天地铁上面让人背一本700多页的书? |
|
penxuewa
2009-08-13
什么时候出版了
|
|
turingbooks
2009-08-14
iaimstar 写道 看了目录就吐血了
为什么书不能拆开出版 根据内容分册,需要的时候买想看的部分? 每天地铁上面让人背一本700多页的书? 图书按章出版可能会是未来的趋势,但就目前的情况,这个环境还不成熟,呵呵 |
|
turingbooks
2009-08-14
penxuewa 写道 什么时候出版了
别着急,还没有出版呢。出版这样的大事情,怎么能不告诉大家呢 |
|
crabboy
2009-08-24
看上去很美。
|