Spring是个开源框架,它能够为构建企业应用提供了一个轻量级的解决方案,同时,它支持通过声明的方式进行事务控制和通过RMI和Webservice远程访问程序逻辑,以及多种的数据持久化操作,此外Spring还提供了一个功能全面的MVC框架和一个透明的方式集成AOP到你的软件当中。
Spring框架主要包括七大快的功能,分别如下:
1.核心包(Core)是框架最基本的一部分,它提供了控制反转(IoC)和依赖注入(DI)的功能特性。BeanFactory是核心包的主要组件,它通过控制反转将应用程序的配置和依赖性规范与实际的应用程序代码分开,这构成了Spring框架基础
2.上下文(Spring Context)通过配置文件,向Spring框架提供上下文信息。它构建在核心包之上,另外增加了国际化,事件传播,资源访问等功能
3.Sping AOP:Spring提供了面向方面编程功能,因为Spring的核心是基于控制反转(IoC)的,所以很容易地使用Spring的依赖注入为AOP提供支持
4.Spring DAO:提供了一个简单而又有效的JDBC封装,和丰富的数据库dao操作
5.Spring ORM:Spring的对象映射组件,Spring除了提供JDBC封装组件和提供了对其他一些ORM框架的支持。例如:JPA,JDO,Hibernate, 和iBatis
6.Spring Web:提供了基本的面向web的集成特性,例如:多文件的上传功能,使用servlet监听器对对IoC容器进行初始化,这是面向web的上下文,这个包可以与WebWork和Struts框架进行集成
7.Spring MVC:该包提供了一个MVC框架来实现web应用,Spring的MVC框架并不仅仅是一个旧的实现,它能够提供domain模型代码和web表单的解耦分离,并允许你使用Spring框架其他的功能
一下是Spring官方给出的结构图:
之前对Spring框架的理解有些片面,在Spring的七大组成部分当中有一些组件是可以单独拿出来使用的,比如Spring的dao组件,同时Spring的应用也并不仅仅局限于JavaEE的开发过程中