Spring 框架 - 架构


Spring 可能成为所有企业应用程序的一站式商店。然而,Spring 是模块化的,允许您挑选适合您的模块,而无需引入其余的模块。以下部分提供了有关 Spring 框架中所有可用模块的详细信息。

Spring框架提供了大约20个模块,可以根据应用程序的需求来使用。

Spring框架架构

核心容器

核心容器由核心、Bean、上下文和表达式语言模块组成,其详细信息如下:

  • 核心模块提供了框架的基本部分,包括 IoC 和依赖注入功能

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

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

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

数据访问/集成

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

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

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

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

  • Java 消息传递服务JMS模块包含用于生成和使用消息的功能。

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

网络

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

  • Web模块提供基本的面向 Web 的集成功能,例如分段文件上传功能以及使用 servlet 侦听器和面向 Web 的应用程序上下文初始化 IoC 容器

  • Web -MVC模块包含 Spring 的 Web 应用程序的模型-视图-控制器 (MVC) 实现。

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

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

各种各样的

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

  • AOP模块提供了面向方面的编程实现,允许您定义方法拦截器和切入点,以干净地解耦实现应分离的功能的代码。

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

  • Instrumentation模块提供类检测支持和类加载器实现以在某些应用程序服务器中使用。

  • 消息传递模块提供对 STOMP 作为 WebSocket 子协议在应用程序中使用的支持。它还支持注释编程模型,用于路由和处理来自 WebSocket 客户端的 STOMP 消息。

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