Spring 简明教程

Spring Framework - Architecture

Spring 可能是你所有企业应用程序的一站式商店。但是,Spring 是模块化的,它允许你选择和挑选哪些模块适用于你,而无需引入其余部分。以下部分提供了 Spring Framework 中所有可用模块的详细信息。

Spring Framework 提供了大约 20 个模块,它们可以根据应用程序 requirement 使用。

spring architecture

Core Container

Core Container 包含 Core、Beans、Context 和 Expression Language 模块,其详细信息如下 −

  1. Core 模块提供了框架的基本部分,包括 IoC 和依赖注入特性。

  2. Bean 模块提供了 BeanFactory,它是工厂模式的一个复杂的实现。

  3. Context 模块建立在 Core 和 Beans 模块提供的基础上,它是一种访问任何已定义和配置对象的介质。ApplicationContext 接口是 Context 模块的重点。

  4. SpEL 模块为查询和操作对象图提供了强大的表达式语言。

Data Access/Integration

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

  1. JDBC 模块提供 JDBC 抽象层,消除了对繁琐的 JDBC 相关编码的需求。

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

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

  4. Java Messaging Service JMS 模块包含用于生成和使用消息的特性。

  5. Transaction 模块支持为实现特殊接口的类和你的所有 POJO 提供程序化和声明式事务管理。

Web

Web 层包含 Web、Web-MVC、Web-Socket 和 Web-Portlet 模块,其详细信息如下 −

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

  2. Web-MVC 模块包含 Spring 的 Model-View-Controller (MVC),用于 Web 应用程序。

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

  4. Web-Portlet 模块提供在 portlet 环境中使用的 MVC 实现,并反映 Web-Servlet 模块的功能。

Miscellaneous

还有几个其他重要的模块,如 AOP、Aspect、Instrumentation、Web 和 Test 模块,其详细信息如下 −

  1. AOP 模块提供面向切面的编程实现,允许您定义方法拦截器和切入点,以清楚地分离实现应分离功能的代码。

  2. Aspects 模块提供 AspectJ 集成,这又是一个强大而成熟的 AOP 框架。

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

  4. Messaging 模块为 STOMP 提供支持,后者是应用程序中使用的 WebSocket 子协议。它还支持注释编程模型,用于将 WebSocket 客户机路由和处理 STOMP 消息。

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