温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
精通Spring
4.x
企业应用开发实战
精通
Spring
企业
应用
开发
实战
精通 Spring 4.x 企业应用开发实战 陈雄华 林开雄 文建国编著 内 容 简 介 Spring 4.0 是 Spring 在积蓄 4 年后,隆重推出的一个重大升级版本,进一步加强了 Spring 作为 Java领域第一开源平台的翘楚地位。Spring 4.0 引入了众多 Java 开发者翘首以盼的基于 Groovy Bean 的配置、HTML 5/WebSocket 支持等新功能,全面支持 Java 8.0,最低要求是 Java 6.0。这些新功能实用性强、易用性高,可大幅降低 Java应用,特别是 Java Web 应用开发的难度,同时有效提升应用开发的优雅性。本书是在精通 Spring 3.x企业应用开发详解的基础上,历时一年的重大调整改版而成的,延续了上一版本“追求深度,注重原理,不停留在技术表面”的写作风格,力求使读者在熟练使用 Spring的各项功能的同时透彻理解 Spring 的内部实现,真正做到知其然并知其所以然。此外,本书重点突出了“实战性”的主题,力求使全书内容体现“从实际项目中来,到实际项目中去”的写作原则。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 精通 Spring 4.x:企业应用开发实战/陈雄华,林开雄,文建国编著.北京:电子工业出版社,2017.1 ISBN 978-7-121-30443-9 .精.陈 林 文.JAVA 语言程序设计.TP312.8 中国版本图书馆 CIP 数据核字(2016)第 284564 号 责任编辑:李 冰 特约编辑:田学清 赵海军等 印 刷:三河市华成印务有限公司 装 订:三河市华成印务有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:7871092 1/16 印张:51.25 字数:1312 千字 版 次:2017 年 1 月第 1 版 印 次:2017 年 1 月第 1 次印刷 印 数:3000 册 定价:128.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件到 。本书咨询联系方式:。前 言 本书小序 Spring 从 2004 年发布第一个版本以来,至今已有 12 载。12 年刚好是一个生肖轮回,但在一日千里的计算机领域,12 年基本上算是一个世纪了。都说“好花不常开,好景不常在”,但 Spring 这朵 Java 开源世界里芳香馥郁的奇葩不但没有零落成泥,反而满园春色历久弥艳,成为 Java 开发者无法回避的开源框架。回顾 Spring 的光辉岁月,一路与时俱进,引领时代之潮流。总的来说,Spring 主要经历了三次重大的版本升级:一为 2006 年从 1.0 升级到 2.0,在 Spring 2.0 中新增了 XML命名空间、AspectJ 及 Spring MVC 等功能,此外,在 Spring 2.5 中还引入了注解驱动配置的支持,同时进一步完善了 Spring MVC 功能;二为 2009 年从 2.5 升级到 3.0,新增了SpEL、OXM、REST、验证/格式化等功能,全面支持 Java 5.0;三为 2013 年从 3.0 升级到 4.0,新增了 Groovy Bean 配置、HTML 5/WebSocket 支持等功能,全面支持 Java 8.0,最低要求是 Java 6.0。Spring 始终坚持以小版本快速推进、每三年左右发布一个大版本的演化策略,既保证版本的平稳有序,又能紧跟技术发展的潮流。难能可贵的是,Spring即便发生了这么多次版本的升级,其整体框架依然是向下兼容的,在这一点上,Spring明显区别于 Struts、Hibernate 等框架的升级风格。笔者在2007年曾编写了 精通Spring 2.x,并在2012年出版了升级版本 精通Spring 3.x。感谢读者朋友的厚爱垂青,其中精通 Spring 3.x已经重印了 11 次,成为国内Spring 领域的畅销书籍。2013 年年底 Spring 4.0 就已经发布了,从那时起,出版社的朋友多次力促笔者进行版本的同步升级,笔者也希望能与时俱进地对原书进行更新,但囿于工作繁忙,一直未能付诸行动。直到 2015 年 8 月左右,才与林开雄、文建国着手筹划精通 Spring 4.x的升级编写工作。林开雄和文建国是笔者多年的好朋友,二人都是拥有十多年工作经验的 Java 实战型技术高手,他们不但为人谦和、技术精湛,而且拥有丰厚的创作实力。林开雄早在 2012 年就参与了精通 Spring 3.x的撰写工作,文建国则于 2014 年翻译了Spring Data 实战。此外,林莉、何彩云、陈谋坤、项群、陈文炎、陈曦、康玉琳、蔡雪峰、康沿清、朱景、朱贤俊等也一起参与了本书的代码审查及测试工作,在此对大家的努力付出一并表示感谢!精通 Spring 4.x企业应用开发实战 -IV-本次改版,不但将全书内容同步更新到 Spring 4.0,还对全书结构进行了多方面的优化和调整。移除了两个章节,分别是“JavaMail 发送邮件”(考虑到比较简单)及“在Spring 中开发 Web Service”(考虑到 Spring MVC 开发 REST WebService 再合适不过了);新增了 3 个全新的章节,分别是“Spring Boot”、“Spring SpEL”及“Spring Cache”。本书特点 揭示内幕,深入浅出:揭示内幕,深入浅出:笔者对 Spring 的源码进行了彻底分析,深刻揭示了 Spring框架的技术内幕,让读者知其然,更知其所以然。Spring 中的许多设计经验、技巧、模式具有很高的借鉴性,在透彻学习 Spring 体系结构的同时,读者可以直接将这些方法借用到具体的应用开发中。同步更新,与时俱进:同步更新,与时俱进:虽然在 2013 年 12 月就发布 Spring 4.0 的第一个候选版本,后来又发布了多个 RC 版本,并最终于 2015 年 8 月发布了 Spring 4.2 的正式版本,但新功能的添加及旧功能的调整从来就没有停止过。本书基于 Spring 4.2 版本讲解,保证全书内容与时俱进。突出重点,淡化边缘:突出重点,淡化边缘:虽然全书篇幅达 800 多页,但本书没有片面追求内容的面面俱到,相反,我们特别注意内容的剪裁和取舍;对于实用性强的知识点深入分析、深度挖掘,而对于不常用的知识点则点到为止,甚至不纳入本书的范围。举例来说,我们对使用 Spring JDBC、Spring Cache 及 Spring MVC 等实用性强的技术都进行了深入分析,而对如何集成 EJB、JMX、JCA 等不常用的功能完全不涉及,很好地做到了实用性和深入性的统一。理论透彻,面向实践:理论透彻,面向实践:本书在透彻分析原理、讲解技术知识点的同时,特别注意与实际应用的结合。笔者将自身丰富的实战经验糅合到全书的相关知识点中,很好地做到了知识讲解和实践经验的结合,让读者在掌握纯技术知识的同时能够对如何活用技术做到胸有成竹。如笔者在第 16 章讲解任务调度的内容时,专门辟出 16.6 节讲解实际应用中任务调度的使用经验;在第 18 章中讲述使用实战项目开发时,专门通过 18.11 节讲述了笔者在实际项目中所总结的项目配置文件及数据源的规划方案。此外,我们还适时提供了“实战经验”的插文,它们在不影响上下文连贯性的同时让读者学到了相关技术的实战经验。诸如此类的以实际应用为导向的内容贯穿全书,这是本书区别于其他书籍的特色之一。代码简洁,图例丰富:代码简洁,图例丰富:全书代码在排版布局及内容剪裁上颇费心思,实例代码重点关注当前知识点涉及的内容,弱化边缘代码,并采用特殊的排版方式适时添加简明扼要的注释,方便程序代码的阅读和重点内容的把握。全书拥有大量精美的图表,这些图表很好地解构了上下文中的一些知识难点,大大提高了可读性,降低了理解的难度。注重趣味,轻松阅读:注重趣味,轻松阅读:由于技术书籍的严谨性、知识性特点,阅读技术书籍往往是枯燥乏味的,更遑论趣味性。笔者对此深有感触,为寻求一些突破,我们 前 言 -V-在全书大部分章节都精心设计了一个“轻松一刻”环节。它们和上下文内容存在某种程度的关联性,但其本身是一段趣味性的短文,以便在增强全书趣味性的同时还为读者提供了另一个思考问题的角度。相关知识,一网打尽:相关知识,一网打尽:Spring 不但本身涉及众多 Java 技术,其集成的第三方技术本身也涵盖了丰富的知识。我们在介绍 Spring 相关技术时,都会简明扼要地讲解相关联的基础知识,其中包括 Java 的新知识和被集成技术的知识,而不是在完全脱离背景知识的情况下孤立讲解 Spring 的知识。通力合作,倾力打造:通力合作,倾力打造:本书从筹划到改版完成,历时近 8 个月。我们交叉审核,多次优化重构,为保证全书质量,多次向出版社申请延迟提交稿件,直到 2016年 6 月才完成所有稿件。本书结构 本书分为 5 篇。第 1 篇为基础篇,包括第 13 章,讲解 Spring 概述性知识,以便读者快速建立对 Spring 的整体认识,能够使用 Spring 快速开发一个简单的项目,而更多深入的知识则在后续篇章中展开。第 2 篇为核心篇,包括第 49 章,讲解 Spring 的IoC、AOP 及 SpEL 的知识,这些知识是 Spring 的核心,也是 Spring 所有衍生服务及功能的基石。第 3 篇为数据篇,包括第 1014 章,讲解 Spring 的各种数据访问技术及事务管理的内容,对事务管理的实现机制和各种疑难问题进行剖析。第 4 篇为应用篇,包括第 1518 章,讲解数据缓存、任务调度、Web 开发的内容,对于企业应用开发来说,数据缓存及任务调度是两个无法回避的问题,需要重点学习和掌握;此外,本篇还精心设计了一个实战案例,包含需求分析、数据库设计、项目开发、代码测试、应用部署的整体过程,让读者在项目的实战中整体串接 Spring 的知识点。第 5 篇为提高篇,包括第19 章和第 20 章,讲解 Spring OXM 及单元测试的内容;全书工程代码放在本书配套网盘中,请读者下载网盘内容阅读,本书网盘下载地址如下。百度云盘:http:/ 1 章:对 Spring 框架进行了整体性的概述,可使读者快速建立起对 Spring 整体性的认识。第 2 章:通过一个简单的例子展现开发 Spring Web 应用的整体过程,通过这个实例,读者可以快速跨入 Spring Web 应用的世界。第 3 章:Spring Boot 的设计目的是用来简化新 Spring 应用的搭建和开发过程,本章通过实例向读者讲述了 Spring Boot 的使用技巧。第 4 章:讲解了 Spring IoC 容器的知识,通过具体的实例详细地讲解了 IoC 概念;同时,对 Spring 框架的三个最重要的框架级接口进行了剖析,并对 Bean 的生命周期进行了讲解。精通 Spring 4.x企业应用开发实战 -VI-第 5 章:讲解了如何在 Spring 配置文件中使用各种配置方式配置 Bean 的内容,并对各个配置项的意义进行了深入说明。第 6 章:对 Spring 容器进行了解构,从内部探究 Spring 容器的体系结构和运行流程。此外,还对 Spring 容器一些高级主题进行了深入阐述。第 7 章:从 Spring AOP 的底层实现技术入手,一步步深入到 Spring AOP 的内核中,分析它的底层结构和具体实现。第 8 章:对如何使用基于 AspectJ 配置 AOP 的知识进行了深入分析,包括使用 XML Schema 配置文件、使用注解进行配置等内容。第 9 章:SpEL 不仅仅是一个动态语言,而且 Spring 容器的很多配置都直接依赖于SpEL