标题：Spring 3.x 企业应用开发实战
出版信息
《Spring 3.x 企业应用开发实战》
陈雄华 林开雄 编著  ISBN 978-7-121-15213-9
2012年2月出版
定价：90.00元（含光盘1张）
16开
728页
10年技术专家邀您共享Spring饕餮盛宴
内容简介
Spring 3.0是Spring在积蓄了3年之久后，隆重推出的一个重大升级版本，进一步加强了Spring作为Java领域第一开源平台的翘楚地位。
Spring 3.0引入了众多Java开发者翘首以盼的新功能和新特性，如OXM、校验及格式化框架、REST风格的Web编程模型等。这些新功能实用性强、易用性高，可大幅降低Java应用，特别是Java Web应用开发的难度，同时有效提升应用开发的优雅性。
本书是在《精通Spring 2.x——企业应用开发详解》的基础上，经过历时一年的重大调整改版而成的，本书延续了上一版本追求深度，注重原理，不停留在技术表面的写作风格，力求使读者在熟练使用Spring的各项功能的同时，还能透彻理解Spring的内部实现，真正做到知其然知其所以然。此外，本书重点突出了“实战性”的主题，力求使全书“从实际项目中来，到实际项目中去”。
作者简介
陈雄华：
2002年毕业于厦门大学计算机与信息工程学院,获硕士学位。十年如一日如痴如愚钻石技术，倾心代码，对技术高峰身虽不能至，而心向往之。曾负责过十多个大型项目的设计和研发工作，还主持并研发了一个企业级的Java快速开发平台。
现为中图一购网技术总监，负责网站整体技术架构搭建及网站核心模块的研发工作。
技术开发之余，常将经验所得行诸文字,作者已在IBM developerworks、天极网、IT168、各报刊杂志发表过数十篇技术文章。
出版《精通JBuilder 2005》、《精通Spring 2.x——企业应用开发详解》等技术书籍，广受读者喜爱。
林开雄：
2006年毕业于集美大学软件工程专业，获取学士学位。资深软件工程师，精通Spring等优秀开源技术在企业的应用开发，主要研究方向包括业务基础平台、BPM、智能报表、分布式等技术。
前 言
本书小述Spring为Java世界带来了一场震撼性的技术革新，它颠覆了传统Java应用开发笨重的方式，影响和正在影响着Java开发者思考问题的方法。从2004年发布第一个版本以来，Spring逐渐占据了Java开发人员的视线，博得了开源社区一片赞誉之声，开源社区里“春”城无处不飞花。
在2006年发布Spring 2.0版本后，Spring的易用性，扩展性和整合性得到了充分的展示，越来越多Java开发者争先恐后地投奔到Spring平台中来，Spring已成为事实上的Java应用开发平台，成为Java一站式轻量级平台的无冕之王。
在历经长达3年的磨砺之后，2009年Spring 3.0横空出世，挟带着SpEL、OXM、REST、验证/格式化等众多令人惊艳的新功能再次掀起一场Spring的热潮。笔者在2007年曾撰写的拙作《精通Spring 2.x》已经显得昨日黄花，有感于读者朋友的青睐和出版社朋友的力促，一直希望能与时俱进将本书翻版更新，但囿于这两年工作繁忙且笔者又不希望草率应付，遂使心中夙愿沉积日久渐成心病。由于在可预知的未来皆难有大段空暇的时间，想起刘墉之创作《萤窗小语》都是掇拾繁忙之空隙集腋成裘，因此，笔者亦学习效仿之，利用节假日，周末等时间完成原版的改造，从2010年国庆开始到2011年国庆结束，历时已一年矣。
本次改版，不但将全书内容更新同步到Spring 3.0，还对原版内容进行了大面积的优化和调整。例如，对单元测试、WebService等内容进行了全新重写，对Spring事务管理各种疑难困惑详细剖析，此外还引入一章逼真再现一个实战性Web项目的开发全过程等。所有这些调整的目的都是希望在延续前版的“深入”的同时，能让本书更贴近于“实战”。本书的特点揭示内幕、深入浅出：笔者对Spring的源码进行了彻底的分析，深刻揭示了Spring框架的技术内幕，让读者知其然，更知其所以然。Spring中许多设计经验、技巧、模式具有很高的借鉴性，在透彻学习Spring体系结构的同时，读者可以直接将这些方法引借到具体的应用开发中。
同步更新、与时俱进：虽然在2009年9月就发布Spring 3.0第一个候选版本，后来又发布了多个RC版本，并最终于2011年10月发布了Spring 3.1的正式版本。新功能的添加以及旧功能的调整从来就没有停止过。笔者在本书写作过程中时刻关注Spring新版本功能的变化，并及时调整全书内容与其同步，保证全书内容与时俱进。
突出重点，淡化边缘：虽然全书洋洋洒洒近800页，便本书没有片面追求内容的面面俱到，相反，我们特别注意内容的剪裁和取舍。对于实用性强的知识点深入分析、深度挖掘，而对于不常使用的知识点到为止，甚至不纳入本书的范围。举例来说，我们对使用 Spring-WS开发基于Spring的Web Service应用、OXM、Spring MVC等这些实用性强的技术都进行了深入的分析，而对如何集成EJB、JMX、JCA等这些不常使用的功能完全不涉及。很好地做到了实用性和深入性二者的统一。
理论透彻、面向实践：本书在透彻分析原理、讲解技术知识点的同时，特别注意与实际应用的结合，笔者将自身丰富的实战经验糅合到全书的相关知识点上，很好地做到了知识讲解和实践经验的结合。让读者在掌握纯技术知识的同时，能够对如何活用技术做到胸有成竹。如笔者在第13章讲解任务调度的内容时，专门辟出13.6小节讲解实际应用中任务调度的使用经验；在第18章中讲述使用JavaMail发送电子邮件时，专门通过18.4小节讲述了在实际应用中发送邮件的各种注意事项。此外，我们还适时提供了“实战经验”的插文，它们在不影响上下文连贯性的同时让读者学习到了相关技术的实战经验。诸如此类以实际应用为导向的内容贯穿全书，这是本书区别于其他书籍特色之一。
代码简洁、图例丰富：全书的代码在排版布局以及内容的剪裁上颇费心思，实例代码重点关注当前知识点涉及的内容，弱化边缘代码，并采用特殊的排版方式适时添加简明扼要的注释，方便程序代码的阅读和重点内容的把握。全书拥有大量精美的图表，这些图表很好地解构了上下文中一些难点的知识，大大提高了阅读性，降低了理解的难度。
注重趣味、轻松阅读：由于技术书籍的严谨性、知识性的特点，阅读技术书籍往往是枯燥乏味的，更遑论趣味性。笔者对此深有感触，为寻求一些突破，我们在全书大部分章节都精心设计一个“轻松一刻”，它们和上下文内容存在某种程度的关联性，但其本身是一段趣味性的短文，它们在增强全书趣味性的同时，还为读者提供另外一个思考问题的角度。
相关知识、一网打尽：Spring不但本身涉及众多Java技术，其集成的第三方技术本身也涵盖了丰富的知识。我们在介绍Spring相关技术时，都会简明扼要地讲解相关联的基础知识，这包括JDK 5.0的新知识和被集成技术的知识，准备好知识背景，而不是完全脱离背景知识的情况下孤立讲解Spring的知识。
历时一载、倾力打造：本书从筹划到全书改版完成，历经近一年的时间，笔者充分利用所有可用的空闲时间，多次拖延完稿的计划，终于于2011年国庆才完成本书的所有稿件。本书的结构本书分为5大篇，其中第1篇为Spring概述性知识；第2篇讲解了Spring的IoC和AOP的知识；第3篇讲解Spring的各种数据访问技术的内容；第4篇讲解业务层和Web层的技术；第5篇讲解面向实践的单元测试及实战项目。由于篇幅所限，笔者将邮件发送及WebService的章节以电子文档的形式作为附件放到光盘中，请读者通过光盘进行阅读。
下面简要介绍一下每章的内容。
第1章：对Spring框架进行宏观性的概述，力图使读者建立起对Spring整体性的认识。
第2章：通过一个简单的例子展现开发Spring Web应用的整体过程，通过这个实例，读者可以快速跨入Spring Web应用的世界。
第3章：讲解Spring IoC容器的知识，通过具体的实例详细地讲解IoC概念。同时，对Spring框架的三个最重要的框架级接口进行了剖析，并对Bean的生命周期进行讲解。
第4章：讲解如何在Spring配置文件中使用Spring 3.0的Schema格式配置Bean的内容，并对各个配置项的意义进行了深入的说明。
第5章：对Spring容器进行解构，从内部探究Spring容器的体系结构和运行流程。此外，我们还将对Spring容器一些高级主题进行深入的阐述。
第6章：我们从Spring AOP的底层实现技术入手，一步步深入到Spring AOP的内核中，分析它的底层结构和具体实现。
第7章：对如何使用基于AspectJ配置AOP的知识进行了深入的分析，这包括使用XML Schema配置文件、使用注解进行配置等内容。
第8章：介绍了Spring所提供的DAO封装层，这包括Spring DAO的异常体系、数据访问模板等内容。
第9章：介绍了Spring事务管理的工作机制，通过XML、注解等方式进行事务管理配置，同时还讲解了JTA事务配置知识。
第10章：对实际应用中Spring事务管理各种疑难问题进行透彻的剖析，让读者对Spring事务管理不再有云遮雾罩的感觉。
第11章：讲解了如何使用Spring JDBC进行数据访问操作，我们还重点讲述了LOB字段处理、主键产生和获取等难点知识。
第12章：讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架，同时，读者还将学习到ORM框架的混用和DAO层设计的知识。
第13章：本章重点对在Spring中如何使用Quartz进行任务调度进行了讲解，同时还涉及了使用JDK Timer和JDK 5.0执行器的知识。
第14章：介绍Spring 3.0新增的OXM模块，同时对XML技术进行了整体的了解。
第15章：对Spring MVC框架进行详细介绍，对REST风格编程方式进行重点讲解，同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。
第16章：有别于一般书籍的单元测试内容，本书以当前最具实战的JUnit4+Unitils+ Mockito复合测试框架对如何测试数据库、Web的应用进行了深入的讲解。
第17章：以一个实际的项目为蓝本，带领读者从项目需求分析、项目设计、代码开发、单元测试直到应用部署经历整个实际项目的整体开发过程。如何使用本书读者应该在机器上安装MyEclipse 8.5，并下载Spring 3.0的最新发布包，在机器上重现书中实例的开发过程。毕竟程序开发是实践性极强的工作，只有亲身体验才能掌握其真谛。
配套光盘拥有本书所有实例的代码，读者也可以在此基础上重复本书的实例的开发过程，省去重新录入代码之苦。本书的插文本书会适时加入一些提示、实战经验和轻松一刻的小段插文，在不打断行文的同时提供一些有益的开发经验、使用技巧并增强阅读的趣味性。这些插文都带有一个小图标加以突显，说明如下：
提示：在上下文中可能存在一些读者容易忽视或容易犯错的地方，在提示信息中给予针对性的帮助信息。
实战经验：笔者将多年的开发实战经验适时介绍给大家。这些知识往往是不能从一般的书籍或资料中获得的。本书会适时地在行文中将这些实战经验分享出来，相信可以使读者朋友少走一些弯路。
轻松一刻：为了增强技术书籍阅读的趣味性，全书每章几乎都有一到两个轻松一刻的短文，它们和上下文内容都存在某种程度的关联性，不但为阅读带来了趣味性，还可以启发读者的思考。
此外，由于Spring 3.x拥有多个版本，为了保持行文的简洁，除非特别指出，本书的Spring或Spring 3.0即代表当前最新的版本（Spring 3.1.x）。如何与作者联系由于Spring内容涵盖面宽广，涉及的内容非常多，同时由于作者水平有限，错误之处在所难免。我们不但欢迎读者朋友来信交流，更期待各界高手、专家就不足之处给予赐教和斧正。您可以通过邮件与笔者联系。
陈雄华 厦门
目 录
第1篇 概述
第1章 Spring概述2
第2章 快速入门13
第2篇 IoC和AOP
第3章 IoC容器概述40
第4章 在IoC容器中装配Bean80
第5章 Spring容器高级主题135
第6章 Spring AOP基础173
第7章 基于@AspectJ和Schema的AOP221
第3篇 数据访问
第8章 Spring对DAO的支持274
第9章 Spring的事务管理289
第10章 Spring的事务管理难点剖析325
第11章 使用Spring JDBC访问数据库361
第12章 整合其他ORM框架398
第4篇 业务层及Web层技术
第13章 任务调度和异步执行器428
第14章 使用OXM进行对象XML映射463
第15章 Spring MVC503
第5篇 测试及实战
第16章 实战型单元测试592
第17章 实战案例开发648
以下内容详见本书配书光盘：
附录A JavaMail发送邮件711
附录B 在Spring中开发Web Service738