资料内容:
一、Spring 框架功能整体介绍
1.1 Sring Core Container
模块作用:Core 和 Beans 模块是框架的基础部分,提供 IoC (反转控制)和依赖注入特性。 这里的基
础概念是 BeanFactory,它提供对 Factory 模式的经典实现来消除对程序性单例模式的需要,并真正地允
许你从程序逻辑中分离出依赖关系和配置
1.1.1 Core
主要包含 Spring 框架基本的核心工具类, Spring 的其他组件都要用到这个包里的类, Core 模块
是其他组件的基本核心。
1.1.2 Beans (BeanFacotry 的作用)
它包含访问配置文件、创建和管理 bean 以及进行 Inversion of Control | Dependency
Injection ( IoC/DI )操作相关的所有类
1.1.3 Context
处理 BeanFactory,还是 ApplicationContext 的作用。
模块构建于 Core 和 Beans 模块基础之上,提供了一种类似 JNDI 注册器的框架式的对象访问方法。
Context 模块继承了 Beans 的特性,为 Spring 核心提供了大量扩展,添加了对国际化(例如资源绑定)、
事件传播、资源加载和对 Context 的透明创 建的支持。Context 模块同时也支持 J2EE 的一些特性,
ApplicationContext 接口是 Context 模块的关键。
本质区别:(使用 BeanFacotry 的 bean 是延时加载的,ApplicationContext 是非延时加载的)
1.1.4 Expression Language
模块提供了强大的表达式语言,用于在运行时查询和操纵对象。它是 JSP 2.1 规范中定义的 unifed
expression language 的扩展。该语言支持设置/获取属性的值,属性的分配,方法的调用,访问数组上
下文( accessiong the context of arrays )、容器和索引器、逻辑和算术运算符、命名变量以及从 Spring
的 IoC 容器中根据名称检索对象。它也支持 list 投影、选择和一般的 list 聚合。
1.2 Spring Data Access/Integration
1.2.1 JDBC
JDBC 模块提供了一个 JDBC 抽象层,它可以消除冗长的 JDBC 编码和解析数据库厂商特有的错误代
码。这个模块包含了 Spring 对 JDBC 数据访问进行封装的所有类。
1.2.2 ORM
ORM 模块为流行的对象-关系映射 API,如 JPA、JDO、Hibernate、iBatis 等,提供了一个交互层。
利用 ORM 封装包,可以混合使用所有 Spring 提供的特性进行 O/R 映射,如前边提到的简单声明性事务管理。
1.2.3 OXM
OXM 模块提供了一个对 Object/XML 映射实现的抽象层,将 java 对象映射成 XML 数据,或者将 XML 数
据映射成 java 对象,Object/XML 映射实现包括 JAXB、Castor、XMLBeans、JiBX 和 XStrearn。
1.2.4 JMS
JMS ( Java Messaging Service )模块提供一套 “消息生产者、消息消费者”模板用于更加简单的
使用 JMS,JMS 用于两个应用程序之间,或分布式系统中发送消息,进行异步通信。
1.2.5 Transaction
支持编程和声明性的事务管理,这些事务类必须实现特定的接口,并且对所有的 POJO 都适用
1.3 Spring Web
Web 模块提供了基础的面向 Web 的集成特性。例如,多文件上传、使用 servlet listeners 初始化
IoC 容器以及一个面向 Web 的应用上下文。它还包含 Spring 远程支持 Web 的相关部分。
1.4 Spring Aop
1.4.1 Aspects
Aspects 模块提供了对 AspectJ 的集成支持。
1.4.2 Instrumentation
Instrumentation 模块提供了 class instrumentation 支持和 classloader 实现,使得可以在特
定的应用服务器上使用。
1.5 Test
Test 模块支持使用 JUnit 和 TestNG 对 Spring 组件进行测试