Spring整体架构
Spring整体架构
Spring整体架构图
一.Core Container层
提供核心容器层
1.Core模块
包含Spring框架基本的核心工具类,Spring的其他组件都要使用这个包里的类
2.Beans模块
是所有应用都要用到,其包含了访问配置文件、创建和管理bean等操作所有类
3.Context模块
构建于Core模块和Beans模块基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法。其继承了Beans的特性,为Spring提供了大量扩展
4.SpEL模块
提供强大表达式语言用于运行和查询和操作对象。
二.Data Access层
提供数据管理
1.JDBC模块
提供一个JDBC抽象层,消除冗长的JDBC编码和解析数据库特有错误码
2.ORM模块
提供对象关系映射API,如JPA、JDO、Hibernate、IBatis,提供了一层交互层。
3.OMX模块
提供了一个对Object/XML映射实现的抽象层,包括JAXB、Castor、XMLBeans、JIBX、XStream
4.JMS模块
包含一些制造和消费消息的特性
5.Transaction模块
支持编程和声明性的事务管理,这些事物必须实现特定的接口并对所有的POJO都适用
三.Web层
建立在应用程序上下文模块上,为基于Web的应用程序提供上下文,简化了处理多部分请求及将请求参数绑定到域对象的工作。
1.Web模块
提供基础的面向Web的集成特性,如:文件上传、使用servlet listeners初始化IOC容器、面向web上下文
2.Servlet模块
包含Spring的MVC实现
3.Porlet模块
用于Protlet环境和WebServet模块的MVC实现
四.其他模块
1.AOP模块
提供符合AOP联盟标准的面向切面编程实现,让用户可定义例如方法拦截器和切点,将逻辑代码分开,降低耦合
2.Aspects模块
提供对AspectJ的继承和支持
3.Instrumentation模块
提供了class instrumentation支持和classloader实现
4.Test模块
支持使用JUnit和TestNG对Spring组件进行测试
本章是作者看书后自己的见解,如有错误欢迎大家来纠正