1、Spring主要功能模块
1.1 Core Container
Spring的核心容器模块,其中包括:
- Beans
- Core
- Context
- SpEL
- Beans和Core模块,是框架的基础部分,提供IOC/DI的特性;
- Context模块,构建于Core和Beans基础之上,进行了功能的扩展。ApplicationContext接口是该模块的关键;
- Spring Expression Language模块,提供了一个强大的表达式语言,用于运行时查询和操纵对象
1.2 AOP
Spring的AOP模块,其中包括:
- AOP
- Aspects
- Instrumentation
- AOP模块提供了一个符合AOP联盟标准的面向切面编程的实现;
- Aspects模块提供了对AspectJ(一个AOP的开源框架)的集成支持;
- Instrumentation模块提供了class instrumentation支持和classloader实现,可在特定应用服务器上使用
1.3 DataAccess
Spring的数据库访问模块,其中包括:
- JDBC
- ORM
- OXM
- JMS
- Transaction
- JDBC模块,提供了一个JDBC抽象层,简化了访问数据库的方式;
- ORM模块,为主流的“对象-关系映射型框架”(如Hibernate、MyBatis、JPA、JDO)提供了交互层;
- OXM模块,提供了一个对Object/XML映射实现的抽象层;
- JMS模块,即Java Messaging Service模块,主要包含了一些制造和消费消息的特性;
- Transaction模块,支持编程和声明性的事务管理
1.4 Web
Spring的Web模块,其中包括:
- WebSocket
- Servlet
- Web
- Portlet
- Web模块提供了基础的面向web的集成特性,如多文件上传、使用Servlet Listeners初始化IOC容器以及一个面向web的应用上下文。它还包括Spring远程支持中web的相关部分;
- Servlet模块,包括了Spring的Model-View-Controller(SpringMVC)的实现;
- Portlet模块,提供了用于Portlet环境和Web-Servlet模块的实现
1.5 Test
Spring的测试模块,该模块支持使用JUnit和TestNG对Spring组件进行测试。