spring概述
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组件进行测试