Spring整体架构
2016-07-05 21:19
295 查看
本篇总结一下spring框架的整体架构,并对各模块进行简要说明
整体架构如图
(1)Core Container:核心容器
1)Core模块:主要包含Spring框架基本的核心工具类
2)Beans模块:包含访问配置文件、创建和管理bean以及进行Ioc/DI操作相关的所有类
3)Context模块:构建于Core和Beans模块基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法
4)Expression Languaga模块:提供了一个强大的表达式语言用于在运行时查询和操纵对象
(2)Data Access/Integration
1)JDBC模块:提供了一个JDBC抽象层,包含了Spring对JDBC数据访问进行封装的所有类
2)ORM模块:为流行的对象-关系映射API,提供了一个交互层
3)OXM模块:提供了一个对Object/XML映射实现的抽象层
4)JMS(Java Message Service)模块:包含了一些制造和消费消息的特性
5)Transaction模块:支持编程和声明性的事务管理,这些事务必须实现特定的接口,并且对所有的POJO都适用
(3)Web:建立在应用程序上下文模块之上,为基于web的应用程序提供了上下文,还简化了处理多部分请求以及将请求参数绑定到域上的工作
1)web模块:提供了基础的面向web的集成特性
2)web-servlet模块:包含了spring 的mvc实现
3)web-struts模块:提供了对Struts的支持
4)web-portlet模块:提供了用于Portlet环境和web-servlet模块的mvc实现
(4)AOP模块:提供了面向切面编程的实现,将逻辑代码分开,降低它们之间的耦合性
(5)Aspects模块:提供了对AspectJ的集成支持
(6)Instrumentation模块:提供了class instrumentation支持和classloader实现
(7)Test模块:支持使用JUnit和TestNG对spring组件进行测试
整体架构如图
(1)Core Container:核心容器
1)Core模块:主要包含Spring框架基本的核心工具类
2)Beans模块:包含访问配置文件、创建和管理bean以及进行Ioc/DI操作相关的所有类
3)Context模块:构建于Core和Beans模块基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法
4)Expression Languaga模块:提供了一个强大的表达式语言用于在运行时查询和操纵对象
(2)Data Access/Integration
1)JDBC模块:提供了一个JDBC抽象层,包含了Spring对JDBC数据访问进行封装的所有类
2)ORM模块:为流行的对象-关系映射API,提供了一个交互层
3)OXM模块:提供了一个对Object/XML映射实现的抽象层
4)JMS(Java Message Service)模块:包含了一些制造和消费消息的特性
5)Transaction模块:支持编程和声明性的事务管理,这些事务必须实现特定的接口,并且对所有的POJO都适用
(3)Web:建立在应用程序上下文模块之上,为基于web的应用程序提供了上下文,还简化了处理多部分请求以及将请求参数绑定到域上的工作
1)web模块:提供了基础的面向web的集成特性
2)web-servlet模块:包含了spring 的mvc实现
3)web-struts模块:提供了对Struts的支持
4)web-portlet模块:提供了用于Portlet环境和web-servlet模块的mvc实现
(4)AOP模块:提供了面向切面编程的实现,将逻辑代码分开,降低它们之间的耦合性
(5)Aspects模块:提供了对AspectJ的集成支持
(6)Instrumentation模块:提供了class instrumentation支持和classloader实现
(7)Test模块:支持使用JUnit和TestNG对spring组件进行测试
相关文章推荐
- java多线程系列02
- 【风马一族_Java】 Java的文件类 java.io
- java设计模式之工厂方法模式
- 吸血鬼数字(JAVA)
- Java集合排序(看完秒懂)
- Java开发必备:java帮助文档网址下载或在线帮助
- eclipse各个版本介绍(转)
- 3、继承
- java.net.SocketException中的异常
- Java性能优化指南系列(二):Java 性能分析工具
- java基础之----设计模式单例设计模式
- Java 语言中 Enum 类型的使用介绍
- Spring(一)
- [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:chartD
- Java 集合框架 HashSet 和 HashMap 源码剖析
- Spring Integration 项目实战
- 如何在Java IDE中使用selenium
- Spring整合Mybatis
- 约瑟夫环问题
- Java关键字