Spring技术内幕:深入解析Spring架构与设计原理(第2版)
上QQ阅读APP看书,第一时间看更新

第二部分 Spring组件实现篇

这部分内容是Spring应用开发人员最为熟悉的,也是Spring应用开发中最常用到的部分。Spring组件涵盖的范围很广,比如Web应用环境与Spring MVC、JDBC应用、O/R映射、事务处理、远端调用等。但是,实际上Spring的组件并非局限于这几个模块,这里涉及的只是整个Spring组件体系中很小的一部分。

大家都对Spring的组件系统或多或少有些直接的体会,因为这些组件是整个Spring系统中最为活跃和非常引人入胜的部分。Spring的目标是为Java EE应用开发人员提供便利,这些便利往往体现在对Spring组件的使用上。有了这些组件,有了Spring支持的POJO开发,在把开发人员从传统Java EE开发方式中解放出来的同时,也为Java EE应用开发提供了犀利的武器。随着技术和市场需求的发展,这些纳入Spring体系的组件的实现也在不断发展和丰富,给人日新月异之感。一方面,组件的种类在不断增加,同一种类的组件中,往往集成了若干个优秀的具体产品来满足用户不同的技术选择;另一方面,随着组件功能的丰富和产品升级,Spring组件的相应实现部分也会随之更新,让人目不暇接。

“乱花渐欲迷人眼,浅草才能没马蹄。”选择多了,对应用开发人员评估和选择组件的能力也提出了更高的要求。更好地使用Spring平台,了解这些企业应用组件在Spring中的实现原理,的的确确是一件能够提高开发人员的技术水平和知识修养的事情,并且对开发人员使用Spring进行应用开发会有直接的帮助。

本书只选取了在组件系统中应用最普遍的一些模块进行初步的探讨和分析,一方面是因为大家对这些组件的使用都比较熟悉,另一方面是因为作为Java EE应用平台的Spring,尽管集成了许多优秀的组件为应用开发服务,但是,万变不离其宗,只要能透彻分析其中具有代表性的组件,对其他组件进行分析时也能够举一反三。

注意 笔者深知这部分内容博大精深,尽管已经尽了自己最大的努力,还是难免在分析中有所疏忽和遗漏,敬请读者批评指正。通过这些粗浅的分析,希望能提高读者利用分析源代码来了解平台设计原理的能力和兴趣。在开发中应用Spring组件时,如果遇到迷惑不解之处,不妨从这些组件的源代码中探个究竟。

从技术的依赖层次上看,这些组件的实现都是建立在Spring的核心(前面已经讲过的IoC/AOP模块)的基础上的。虽然涉及企业应用的方方面面,同时每一个组件的实现都自成体系,但了解其底层的技术是理解这些企业应用组件在Spring中实现的有效手段,也对提高使用这些组件的能力有显著的效果。我们已经深入Spring丛林的腹地,岂能空手而归,让我们继续努力前进,去探寻宝藏吧!