Spring是什么?

一个高度灵活的轻量级框架,目的是降低企业级应用开发的复杂度。

http://springsource.org

Spring功能介绍

1、提供了Ioc机制,创建对象以及管理对象之间的调用关系,避免了硬编码造成的程序耦合。也就是创建对象使用的是spring容器而不是使用new创建

2、提供了Aop(面向切面编程方式)功能,可以实现很多特定功能。struts的拦截器实际上就是AOP的应用,spring提供了类似拦截器的功能。

3、声明了事务控制处理。比如hibernate中事务管理手动编码,需要自己使用transaction.commit()或者rollback();spring提供了声明式的事务控制方式,不需要在程序之间提交事务,通过一些配置程序配置到指定的一些组件当中,一旦出现一些情况,会自动进行事务的回滚或者提交

4、对JDBC的一些轻量级的封装

5、提供了MVC模式的解决方案SpringMVC目前跟struts55开了

6、提供了文件上传、定时器等工具类

7、对于其他优秀框架支持

 

Spring的功能模块划分


core container:

框架的核心,spring运行的基础

Core和Beans:框架的基本部分,提供了IoC(反转控制)和依赖注入特征

Core和Beans模块基础之上,提供了一种类似于JSNI注册的框架式的对象访问方式。ApplicationContext接口是Context模块的关键

Expression Language模块:表达式语言

AOP&&Instrumentation模块

AOP模块提供了一个复合AOP联盟标准的面向切面编程的实现

Aspects模块提供了对AspectJ的继承支持

Instructation模块提供了class instrumentation支持和classloader实现

DataAccess模块

JDBC模块:提供了一个JDBC抽象层,简化了访问数据库的方式

ORM模块:为一些流行的对象--关系映射框架提供了一个交互层

JMS模块:JMS(Java Message Service)模块主要包含了一些制造个消费的特这个办法

Transaction模块:该模块支持编程和声明式的事务管理

Web模块

web模块:提供了基础的面向web的集成特征,例如文件上传。

Web-Servlet模块:该模块包含Spring的model-view-controller(MVC)实现。

Web-Struts模块:该模块提供了对Struts的支持

Web-Porlet模块:提供了用于protlet环江和web-Servlet模式的支持

test模块

Test模块支持使用Jnit和TestNG对Spring组件进行测试