韩国男子乒乓球冠军:入门01 - 简介Spring

来源:百度文库 编辑:九乡新闻网 时间:2024/05/03 12:29:07

 Spring是轻量级的J2EE应用程式框架。

 Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spring的目标是实现一个全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代,Spring希望提供one-stop shop的框架整合方案

 Spring不会特别去提出一些子框架来与现有的OpenSource框架竞争,除非它觉得所提出的框架够新够好,例如Spring有自己的MVC框架方案,因为它觉得现有的MVC方案有很多可以改进的地方,但它不强迫您使用它提供的方案,您可以选用您所希望的框架来取代其子框架,例如您仍可以在Spring中整合您的Struts框架。

 Spring的核心概念是IoC,IoC的抽象概念是「依赖关系的转移」,像是「高层模组不应该依赖低层模组,而是模组都必须依赖于抽象」是IoC的一种表现,「实现必须依赖抽象,而不是抽象依赖实现」也是IoC的一种表现,「应用程式不应依赖于容器,而是容器服务于应用程式」也是IoC的一种表现。

 IoC的概念与三种DI(Dependency Injection)类型在Martin Fowler的Inversion of Control Containers and the Dependency Injection pattern中得到清楚的阐释,您可以先在以下的网址中了解IoC与DI的详细说明:http:// www.martinfowler.com/articles/injection.html

 您也可以先看看这些文章,了解一下Dependency Inversion:http://www.objectmentor.com/publications/dip.pdf

 Spring的核心即是个IoC/DI的容器,它可以帮程式设计人员完成组件(类别们)之间的依赖关系注入(连结),使得组件(类别们)之间的依赖达到最小,进而提高组件的重用性,Spring是个低侵入性(invasive)的框架,Spring中的组件并不会意识到它正置身于Spring中,这使得组件可以轻易的从框架中脱离,而几乎不用任何的修改,反过来说,组件也可以简单的方式加入至框架中,使得组件甚至框架的整合变得容易。

 Spring最为人重视的另一方面是支援AOP(Aspect-Oriented Programming),然而AOP框架只是Spring支援的一个子框架,说Spring框架是AOP框架并不是一件适当的描述,人们对于新奇的AOP关注映射至Spring上,使得人们对于Spring的关注集中在它的AOP框架上,虽然有所误解,但也突显了Spring的另一个令人关注的特色。

 Spring也提供MVC Web框架的解决方案,但您也可以将自己所熟悉的MVC Web框架与Spring解合,像是Struts、Webwork等等,都可以与Spring整合而成为适用于自己的解决方案。

 Spring也提供其它方面的整合,像是持久层的整合如JDBC、O/R Mapping工具(Hibernate、iBATIS)、事务处理等等,Spring作了对多方面整合的努力,故说Spring是个全方位的应用程式框架。

 想要入门Spring,对于IoC/DI的了解是必要的,上面的两个网址是个好的开始,另外您也可以先看看「Spring开发指南」:http://www.xiaxin.net/Spring_Dev_Guide. rar

 如果您想了解Spring的整体观念,可以看看Expert One on one J2EE Development Without EJB这本书,Spring的前身是由该作者的前一本书Expert One on one J2EE Design and Development中的一个实际程式开始,Spring本身是J2EE的一个轻量级容器解决方案,从这本书了解J2EE程式设计的考量也是个不错的基础建构方式。

 当然,如果您时间有限,想直接了解Spring,可以从这篇文章开始:http://javaboutique.internet.com/tutorials/spring_frame/

 对于Expert One on one J2EE Development Without EJB这本书,如果您想了解Spring,可以看chapter 7、chapter 13。