Spring Framework 是一个分层框架,包含一些列功能。以下图web
模块解析:spring
包含 Beans,Core,Context,Expresstion Language 模块,其中 Beans和Core 模块是框架的基础部分,提供 IOC(控制反转) 和 依赖注入的特性。主要使用 Factory 设计模式。编程
Core:包含 Spring框架基本的核心工具类,是其余组件的基本核心。设计模式
Beans:全部应用均使用。提供访问配置文件,建立和管理 bean 以及 IOC/DI 操做相关类。框架
Context:构建 在 Beans和Core 组件之上,提交一种注册式的框架式的对象访问方式,而且提供了大量的扩展,添加了资源绑定,事件传播,资源加载,Context透明建立的支持。ApplicationContext接口是Context模块的关键。工具
Expresstion Language 提供一种强大的表达式语言在运行时操纵和查询对象。测试
包含 JDBC,ORM,OXM,JMS和Transactions模块。spa
JDBC:提供一个对 jdbc 的抽象层,包含spring对JDBC数据访问的封装类。设计
ORM:为 对象-关系映射的API,表明交互,利用Spring特性进行 O/R映射,Spring其中添加了多对象
个ORM框架,提供ORM的对象关系工具,其必须听从Spring的通用错误和DAO异常层次结构。
OXM:提供了一个Object/Xml 映射实现的抽象层
JMS:主要包含一些制造和消费消息的特性。
Transactions:支持编程和声明性的事务管理,必须实现特定的接口,并对全部的POJO试用。
Web:提供基础的面向web的集成特性。
Web-Servlet:包含 model-view-Controller 的实现。
Web-Struts:提供对Struts的支支持
AOP:提供一个符合AOP联盟标准的面向切面编程的实现。
Aspects:提供多 TspectJ的集成支持
Test:测试组件