2009-06-13
认识Spring
Spring的核心是轻量级的容器,是实现控制反转和非侵入性的框架,并提供AOP概念的实现方式;提供对持久层,事务的支持;提供webMVC框架的实现并对于企业常用的API提供一致的模型封装,是一个全方位的应用程序框架,除此之外,对于现存的各种框架(Struts,JSF,Hibernate等),Spring也提供了与他们整合的方案。
-
轻量级
相对于一些重量级容器,Spring的核心包的容量只有不到1MB的大小,使用Spring的核心包所需要的资源也是很少的。
-
非侵入性
简单的说,如果使用Spring,应用程序中的某些组件可以直接重用于另一个应用程序之中了。
-
容器
容器可以管理对象的生成,资源取得,销毁等生命周期。Spring提供容器功能,你可以使用一个配置文件,通常是XML文件,在当中确定对象名称,去定如何产生对象,设定对象的属性。在启动容器后,所有的对象可以直接使用,不用编写代码来生成对象。
-
控制反转(IOC)
Spring的核心概念是控制反转,即IOC。他使得“程序不依赖于实现,而依赖于抽象的接口”,Spring对于控制反转的实现采用的是依赖注入(DI),它保留抽象的接口,让组件依赖于抽象的接口,当组件于其他实际的对象发生依赖关系的时候,由抽象接口来注入实际的对象。个人感觉Spring对于控制反转的实现实际上采用的就是java的反射机制。
-
AOP
AOP是Spring的重要功能,他的作用就是将一些服务独立于应用程序之外,在必要的时候可以介入应用程序之中提供服务,而在不需要相关服务的时候,可以将他们直接与应用程序脱离,而他的实现就采用的类似设计模式里面的代理模式。
-
持久层
Spring提供了对于持久层的整合,如对JDBC的使用加以封装和简化,对于Hibernate的整合以及使用上的简化。
-
Web框架
Spring也提供Web MVC框架的解决方案,使用Spring框架的好处就是利用其本身的IOC和AOP来轻松的替换使用不同的View层技术。
-
其他
对于一些服务,如JNDI,Mail,Spring不提供实现,而是将这些服务进行封装,让这些服务有一致的模型,使用上进行简化。