Spring 框架所有模块详解
【模块图】
1 Core Container(核心容器)
1.1 Spring Beans
提供了 BeanFactory,是工厂模式的经典实现,Spring 将管理对象称为 Bean
1.2 Spring Core
提供了 Spring 框架的基本组成部分,包括 IoC(控制反转) 和 DI(依赖注入) 功能
1.3 Spring Context
建立在 Core 和 Beans 模块的基础之上,它是访问、定义和配置的任何对象的媒介。其中 ApplicationContext 接口是上下文模块的焦点
1.4 SpEL (Spring Expression Language)
是 Spring 3.0 后新增的模块,它提供了 Spring Expression Language 支持,是运行时的表达式语言
2 Data Access / Integration(数据访问 / 集成)
2.1 JDBC (Java DataBase Connectivity)
提供了一个 JDBC 的抽象层,大幅度地减少了在开发过程中对数据库操作的编码
2.2 ORM (Object Relational Mapping)
对流行的对象关系映射 API,包括 JPA、JDO 和 Hibernate 提供了集成层支持
2.3 OXM (Object XML Mappers)
提供了一个支持对象和 XML 映射的抽象层实现,如 JAXB、Castor、XMLBeans、JiBX 和 XStream
2.4 JMS (Java Messaging Service)
指 Java 消息传递服务,包含使用和产生信息的特性,自 4.1 版本后支持与 Spring-message 模块的集成
2.5 Transaction
支持对实现特殊接口以及所有 POJO 类的编程和声明式的事务管理
3 Web
3.1 WebSocket
Spring 4.0 以后新增的模块,它提供了 WebSocket 和 SockJS 的实现,以及对 STOMP 的支持
3.2 Servlet
也称为 Spring-webmvc 模块,包含了 Spring 的模型—视图—控制器(MVC)和 REST Web Services 实现的 Web 应用程序
3.3 Web
提供了基本的 Web 开发集成特性,例如:多文件上传功能、使用 Servlet 监听器来初始化 IoC 容器以及 Web 应用上下文
3.4 Portlet
提供了在 Portlet 环境中使用 MVC 实现,类似 Servlet 模块的功能
4 其他模块
4.1 AOP
提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性
4.2 Aspects
提供了与 AspectJ 的集成功能,AspectJ 是一个功能强大且成熟的面向切面编程(AOP)框架
4.3 Instrumentation
提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用
4.4 Messaging
Spring 4.0 以后新增的模块,它提供了对消息传递体系结构和协议的支持
4.5 Test
提供了对单元测试和集成测试的支持