关于spring的作者
spring的缔造者RodJohnson。这位仁兄很牛,出生于澳大利亚,毕业于悉尼大学计算机系。到这还是平平无奇,但是他还有另一个身份,音乐学的博士。因为自己爱好音乐,便攻读了音乐学的博士。果然编程的极致是艺术,而艺术相通的。
一本名为Expertone-on-oneJ2EEDevelopmentwithoutEJB的书。在本书中,他提出了一种基于普通Java类(POJO)和依赖注入的简单解决方案。他编写了超过30,行基础设施代码,其中包括许多可重用的Java接口和用于开发应用程序的类。
还没有读过的小伙伴建议精读一下,虽然距今年代久远,但其中不乏J2EE,架构等经典之作,更是Spring整体框架的设计之源,包括后续的IOC思想之由来等。Rod随后创办Interface21,开创Spring框架,而之后的Spring如日中天,无需多言。笔者曾戏称:
Intherealworld,J2EEONLYdefineInterface,Springwillimplement.
而Rod在Java领域的影响已经远远超越了Spring本身的范畴。
年2月左右,Rod,Juergen和Yann开始合作开展Spring项目。给出了“Spring”这个名称,因为它意味着在传统J2EE的“Winter”之后重新开始。
Spring之前的历史
在Spring框架没有开发出来时,JavaEE是以Sun公司(已经被Oracle公司收购,不复存在)所制定的EJB(EnterpriseJavaBean)作为标准的。
在“遥远”的EJB年代,开发一个EJB需要大量的接口和配置文件,直至EJB2.0的年代,开发一个EJB还需要配置两个文件,其结果就是配置的工作量比开发的工作量还要大。
其次EJB是运行在EJB容器中的,而Sun公司定义的JSP和Servlet却是运行在Web容器中的,于是你可以想象得到,你需要使用Web容器去调用EJB容器的服务。
这就意味着存在以下的弊端:需要增加调用的配置文件才能让Web容器调用EJB容器;与此同时需要开发两个容器,非常多的配置内容和烦琐的规范导致开发效率十分低下,这非常让当时的开发者诟病;对于Web容器调用EJB容器的服务这种模式,注定了需要通过网络传递,造成性能不佳;对于测试人员还需要了解许多EJB烦琐的细节,才能进行配置和测试,这样测试也难以进行。
就在大家诟病EJB的时候,RodJohnson在其著名的著作ExpertOne-on-OneJ2EEDesignandDevelopment中提出了Spring的概念。按书中的描述,Spring是如下的框架。
Webelievethat:J2EEshouldbeeasiertouse.Itisbesttoprogramtointerfaces,ratherthanclasses.Springreducesthe