Spring的核心是个轻量级(Lightweight)的容器(Container),它是实现IoC(Inversion of Control)的容器,是非入侵性(No instrusive)的框架,并提供AOP(Aspect-oriented programming)的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVCWeb框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架。除此之外,对于现存的各种框架(Struts、JSF、Hibernate等),Spring也提供了与它们相整合的方案。
初学者对以上概念可能不是很清楚,下面对这些术语做基本的介绍,让大家对这些术语与概念有基本的认识。
(1)轻量级(Lightweight)
轻量级是相对于一些重量级的容器(如EJB容器)来说的,Spring的核心包在文件容量上只有不到1 MB的大小,而使用Spring核心包所需要的资源负担也很小,甚至可以在小型设备中使用Spring核心包。
(2)非入侵性(No instrusive)
非侵入性是指应用程序可以自由选择和组装Spring框架的功能模块,不强制要求应用程序必须继承Spring框架的API类库,与框架没有过多的依赖,以降低应用程序在框架移植时的复杂度,进一步增加应用程序组件的可重用性。
(3)容器(Container)
Spring提供容器功能,容器可以管理对象的生命周期、对象与对象之间的依赖关系。可以使用一个配置文件(通常是XML),在上面定义好对象的名称、对象如何产生、哪个对象产生之后必须设定成某个对象的属性等。在窗口启动后,所有的对象都可以直接取用,不用编写程序代码来产生对象。即容器是一个Java所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮你做好。(www.xing528.com)
(4)IoC(Inversion of Control)
Spring最重要的核心概念是Inversion of Control,常译为“控制反转”。此概念也有另外一个名称,即Dependency Injection,常译为“依赖注入”。使用Spring,不必在程序代码中维护对象的依赖关系,只需要在配置文件中加以设定,Spring核心容器会自动根据配置将依赖注入指定的对象。
(5)AOP(Aspect-oriented programming)
AOP(Aspect-oriented programming),译为“面向横切面的编程”。Spring被人重视的非常重要的一方面是支持AOP的实现,AOP框架只是Spring支持的一个子框架。举例说明:假设有个日志模块需求,无须修改任何一行程序代码,就可以将这个需求加入原先的应用程序中;也可以在不修改任何程序的情况下,将这个日志模块去除。
(6)持久层(Persistence)
Spring提供了对持久层的整合,例如对JDBC的使用加以封装与简化,提供事务管理功能,对O/R Mapping工具(例如Hibernate)进行整合。此外,Spring也提供了相应的解决方案。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。