如何阅读本书
本书共分为三部分,分别剖析了Spring的核心、组件和经典应用的实现机理。阅读本书时,首先建议读者建立一个源代码阅读环境,这样一方面可以追踪最新的源代码实现,另一方面可以在阅读的过程中进行各种方式的索引和动手验证,加深对开源软件开发方式的体会。
第1章对如何建立源代码环境做了简要介绍。这些知识不但适用于建立Spring的源代码研究环境,而且还适用于其他的Java开源项目,有一定的普遍性和参考意义。对于不同的项目,其具体使用的源代码管理工具、代码的位置、权限配置会有一些不同,但是整个源代码的获取过程与Spring是类似的。
第一部分详细分析了IoC容器和AOP的实现,这部分内容是理解Spring平台的基础,适合对Spring的运行机理有深入了解需求的读者阅读。在对AOP实现模块的分析中涉及一些JVM底层技术,这也是读者需要具备的背景知识。
第二部分深入阐述了基于IoC容器和AOP的Java EE组件在Spring中的实现。在这部分内容中可以看到,每一个组件实现的内容基本上都是相对独立的,读者可以结合自己的应用需求选读。比如,如果对Spring Web MVC的实现原理感兴趣,可以阅读第4章;如果对Spring提供的数据库操作的实现机制感兴趣,可以阅读第5章;如果对Spring提供的统一事务处理的实现感兴趣,可以阅读第6章;如果对Spring提供的各种不同的远端调用实现感兴趣,可以阅读第7章。
第三部分讲述了一些基于Spring的典型应用的实现。如果读者对在Spring应用中如何满足应用资源的安全性需求方面的内容感兴趣,可以阅读第8章,本章对为Spring应用提供安全服务的ACEGI框架的实现进行了分析,在深入了解这部分内容的基础上,读者可以根据自己的应用需要定制自己的安全系统。如果想了解一般企业应用的典型实现,比如Web MVC层的应用、数据库操作、O/R映射等特性在Spring应用中的具体使用,可以阅读第9章,本章中的petclinic应用为Spring应用开发提供了一个现实的应用实例,虽然简单,但却相对完整。这个应用实例是Spring团队的作品,是Spring项目的一部分。
读者可登录本书网站(http://www.springagile.cn)进行技术交流。
由于水平有限,再加上写作时的疏漏,书中难免还会存在许多需要改进之处。在此,欢迎读者朋友们指出书中存在的问题,并提出指导性意见,不甚感谢。如果大家有任何与本书相关的内容需要与我探讨,请申请加入华章俱乐部并提出你的问题和看法,我会及时给予回复。最后,衷心希望本书能给大家带来帮助,祝大家阅读愉快!