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

本章是作者看书后自己的见解,如有错误欢迎大家来纠正