spring 框架模块简介
Spring框架包含大约20个功能模块。这些模块被分为核心容器(Core Container),数据访问/集成(Data Access/Integration),Web(Spring MVC等),AOP(面向切面编程),Infrumentation和测试,如下面的图。
核心容器(Core Container)
核心容器主要包括 Core, Beans, Context 和 Expression Language 模块。
核心容器主要完成的功能就是Ioc(控制反转)和DI(依赖注入)功能。
Core 和 Beans 是spring框架最基础的部分, 主要完成的功能就是Ioc(控制反转)和DI(依赖注入)功能。
Context构建在Core 和 Bean之上,提供类似JNDI的获取对象的方式。继承了Beans模块的所有功能,并在此基础上增加了国际化、事件传播(evnet-propagation)、资源加载等功能,支持透明创建其他context(如servlet容器),并支持EJB、JMX等J2EE特性。核心模块为ApplicationContext接口。
Expression Language 提供运行时查询和操作对象的功能,扩展自EL语言。
数据访问/集成(Data Access/Integration)
数据访问/集成(Data Access/Integration)主要包括JDBC, ORM, OXM, JMS 和 Transaction 模块。
提供持久层操作功能。
JDBC提供对JDBC的抽象层,屏蔽底层代码。
ORM为流行的ORM工具提供集成接口,可以集成JPA、Hibernate、iBatis等工具。
OXM为Object/XML映射工具提供抽象层,支持JAXB、Castor、XML Beans、JiBX、XStream等工具。
JMS提供JMS功能。
Transaction:提供programmatic和声明式的事物管理功能。
Web
Web提供Web Control层和View相关功能,主要包括 Web, Web-Servlet, WebSocket 和 Web-Portlet 模块。
Web提供基本的web-oriented的集成功能,包括多文件上传、使用servlert listener初始化IOC容器、web-oriented context、web-related parts of Spring’s remoting support。
Web-Servlet即Spring MVC。
Web-Protlet提供Portlet环境下MVC的实现和Web-Servlet模块的功能在Portlet环境下得镜像实现。
AOP
提供面向切面的功能
Infrumentation
提供class Infrumentation 主持 and classloader 实现,方便在特定容器中使用。
Test
Test提供JUnit测试或者TestNG测试。