Spring 的体系结构

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mukes/article/details/84071658

Spring架构

图1-1 Spring的体系结构

  1. Core Container (核心容器)
    Spring 的核心容器是其模块建立的基础,它主要由 Beans 模块 、Core 模块、Context 模块、Context-support 模块和 SpEL ( Spring Expression Language, Spring 表达式语言)模块组成,具体介绍如下。

    • Beans 模块:提供了 BeanFactory,是工厂模式的经典实现,Spring 将管理对象称为 Bean。
    • Core 核心模块:提供了 Spring 框架的基本组成部分,包括 IoC 和 DI 功能。
    • Context 上下文模块 : 建立在 Core 和 Beans 模块的基础之上 , 它是访问定义和配置的任何对象的媒介。其中 ApplicationContext 接口是上下文模块的焦点。
    • Context-support 模块 : 提供了对第三方库嵌入 Spring 应用的集成支持 , 比如缓存( EhCache, Guava, JCache ) 、 部件服务( JavaMail )、任务调度( CommonJ、Quartz ) 和模板引擎( FreeMarker、JasperReports、速率)。
    • SpEL 模块:是 Spring 3.0 后新增的模块,它提供了 Spring Expression Language 支持,是运行时査询和操作对象图的强大的表达式语言。

  2. Data Access/integration (数据访问/集成)
    数据访问/集成层包括 JDBC、ORM、OXM、JMS 和 Transactions 模块,具体介绍如下。
    • JDBC 模块:提供了一个JDBC的抽象层,大幅度地减少了在开发过程中对数据库操作的编码。
    • ORM 模块:对流行的对象关系映射 API,包括 JPA、JDO 和 Hibernate 提供了集成层支持。
    • OXM 模块:提供了一个支持对象/ XML映射的抽象层实现.如 JAXB、Castor、XMLBeans、JiBX 和 Xstream。
    • JMS 模块:指Java消息传递服务,包含使用和产生信息的特性,自4.1版本后支持与Spring-message 模块的集成。
    • Transactions 事务模块:支持对实现特殊接口以及所有 POJO 类的编程和声明式的事务管理。

  3. Web
    Spring 的 Web 层包括 WebSocket、Servlet、Web 和Portlet模块,具体介绍如下。
    • WebSocket 镆块:Spring 4.0 以后新增的模块,它提供了 WebSocket 和SockJS 的实现,以及对 STOMP 的支持。
    • Servlet 模块:也称为 Spring-webmvc 模块,包含了 Spring 的模型一视图一控制器( MVC )和REST Web Services 实现的 Web 应用程序。
    • Web 模块:提供了基本的 Web 开发集成特性,例如:多文件上传功能、使用 Servlet 监听器来初始化 IoC 容器以及 Web 应用上下文。
    • Portlet 模块:提供了在 Portlet 环境中使用 MVC 实现,类似 Servlet 模块的功能,,

  4. 其他模块
    Spring 的其他模块还有 AOP、Aspects、Instrumentation 以及 Test 模块,具体介绍如下。
    • A0P 模块:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性。
    • Aspects 横块:提供了与 AspectJ 的集成功能,AspectJ 是一个功能强大且成熟的面向切面编程(AOP ) 框 架 。
    • Instrumentation 模块:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用。
    • Messaging 模块:Spring 4.0以后新增的模块,它提供了对消息传递体系结构和协议的支持。
    • Test 模块:提供了对单元测试和集成测试的支持。

猜你喜欢

转载自blog.csdn.net/mukes/article/details/84071658