Spring 架构是怎么样的?

文章导读
Previous Quiz Next Spring 可以成为您所有企业应用的“一站式”解决方案。不过,Spring 是模块化的,允许您选择适用于自己的模块,而无需引入其他模块。以下部分详细介绍了 Spring Framework 中所有可用模块。
📋 目录
  1. A 核心容器
  2. B 数据访问/集成
  3. C Web
  4. D 其他
A A

Spring Framework - 架构



Previous
Quiz
Next

Spring 可以成为您所有企业应用的“一站式”解决方案。不过,Spring 是模块化的,允许您选择适用于自己的模块,而无需引入其他模块。以下部分详细介绍了 Spring Framework 中所有可用模块。

Spring Framework 提供了大约 20 个模块,可以根据应用需求使用。

Spring Framework Architecture

核心容器

核心容器由 Core、Beans、Context 和 Expression Language 模块组成,其详细信息如下 −

  • Core 模块提供了框架的基本部分,包括 IoC 和 Dependency Injection 功能。

  • Bean 模块提供了 BeanFactory,它是工厂模式的高级实现。

  • Context 模块基于 Core 和 Beans 模块提供的坚实基础,它是访问任何已定义和配置对象的媒介。ApplicationContext 接口是 Context 模块的焦点。

  • SpEL 模块提供了一种强大的表达式语言,用于在运行时查询和操作对象图。

数据访问/集成

数据访问/集成层由 JDBC、ORM、OXM、JMS 和 Transaction 模块组成,其详细信息如下 −

  • JDBC 模块提供了一个 JDBC 抽象层,消除了繁琐的 JDBC 相关编码需求。

  • ORM 模块为流行的对象关系映射 API 提供了集成层,包括 JPA、JDO、Hibernate 和 iBatis。

  • OXM 模块提供了一个抽象层,支持 Object/XML 映射实现,包括 JAXB、Castor、XMLBeans、JiBX 和 XStream。

  • Java Messaging Service JMS 模块包含了生产和消费消息的功能。

  • Transaction 模块支持实现特殊接口的类以及所有 POJO 的编程式和声明式事务管理。

Web

Web 层由 Web、Web-MVC、Web-Socket 和 Web-Portlet 模块组成,其详细信息如下 −

  • Web 模块提供了基本的 Web 导向集成功能,例如 multipart 文件上传功能,以及使用 servlet listeners 和 Web 导向 application context 初始化 IoC 容器。

  • Web-MVC 模块包含了 Spring 的 Model-View-Controller (MVC) Web 应用实现。

  • Web-Socket 模块为 Web 应用中的客户端和服务器之间的 WebSocket 基础双向通信提供了支持。

  • Web-Portlet 模块提供了在 portlet 环境中使用的 MVC 实现,并镜像了 Web-Servlet 模块的功能。

其他

还有一些其他重要的模块,如 AOP、Aspects、Instrumentation、Web 和 Test 模块,其详细信息如下 −

  • AOP 模块提供了面向切面编程实现,允许您定义 method-interceptors 和 pointcuts,以干净地解耦实现应分离的功能代码。

  • Aspects 模块提供了与 AspectJ 的集成,AspectJ 又是一个强大而成熟的 AOP 框架。

  • Instrumentation 模块提供了类 instrumentation 支持和类加载器实现,适用于某些应用服务器。

  • Messaging 模块为应用提供了对 STOMP(作为 WebSocket 子协议)的支持。它还支持基于注解的编程模型,用于从 WebSocket 客户端路由和处理 STOMP 消息。

  • Test 模块支持使用 JUnit 或 TestNG 框架测试 Spring 组件。