北京
·
BEIJING
Publishing House of Electronics Industry
陈雄华 林开雄 著
Spring 3.x
企业应用开发实战
Java 技术大系
内 容 简 介
Spring 3.0 是 Spring 在积蓄了 3 年之久后,隆重推出的一个重大升级版本,进一步加强了 Spring 作为
Java 领域第一开源平台的翘楚地位。
Spring 3.0 引入了众多 Java 开发者翘首以盼的新功能和新特性,如 OXM、校验及格式化框架、REST
风格的 Web 编程模型等。这些新功能实用性强、易用性高,可大幅降低 Java 应用,特别是 Java Web 应
用开发的难度,同时有效提升应用开发的优雅性。
本书是在《精通 Spring 2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,
本书延续了上一版本
追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用 Spring
的各项功能的同时,还能透彻理解 Spring 的内部实现,真正做到知其然知其所以然。此外,本书重点突
出了“实战性”的主题,力求使全书“从实际项目中来,到实际项目中去”。
未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。
版权所有,侵权必究。
图书在版编目(CIP)数据
Spring 3.x 企业应用开发实战/陈雄华,林开雄著
. —北京:电子工业出版社,2012.2
ISBN 978-7-121-15213-9
Ⅰ. ①S… Ⅱ. ①陈… ②林… Ⅲ. ①JAVA 语言-程序设计 Ⅳ. ①TP312
中国版本图书馆 CIP 数据核字(2011)第 241383 号
责任编辑:李 冰
文字编辑:江 立
印 刷:北京东光印刷厂
装 订:三河市皇庄路通装订厂
出版发行:电子工业出版社
北京市海淀区万寿路 173 信箱 邮编 100036
开 本:787×1092 1/16 印张:45.5 字数:1158 千字
印 次:2012 年 2 月第 1 次印刷
印 数:4000 册 定价:90.00 元(含光盘 1 张)
凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,
联系及邮购电话:(010)88254888。
质量投诉请发邮件至 zlts@phei.com.cn,盗版侵权举报请发邮件至 dbqq@phei.com.cn。
服务热线:(010)88258888。
III
本书小述
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 新版本功能的变化,并及时调整全书内容与其同步,保证全书内容与时俱进。
IV
突出重点,淡化边缘:虽然全书洋洋洒洒近 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 的章节以电子文档的形式作为附件放到光盘中,请读者通过光盘进行阅读。