Spring Framework 模块介绍

Spring 框架包含约20个模块,分为以下几组:

  • 核心容器 Core Container
  • 数据访问/集成 Data Access/Integration
  • 网络Web
  • 面向切面 AOP (Aspect Oriented Programming)
  • 插装 Instrumentation(Java 1.6新特性)
  • 消息 Messaging
  • 测试 Test

Spring Framework 模块介绍_第1张图片


1. 核心容器

 spring-corespring-beans:提供框架的基础部分,包括控制反转和依赖注入的特性,BeanFactory是用工厂模式来实现的,使我们不用自己去创建单例对象,并将依赖的配置和设计与业务逻辑分开来。


spring-context模块是建立在前两者之上的,通过它可以使用框架风格(framework-style)的方法来访问对象,类似于JNDI服务注册。该模块集成了bean模块,并加入了国际化、事件传播、资源加载、透明化生成上下文,还支持Java EE特性如EJB、 JMX 和 basic remoting。context模块的关键是ApplicationContext接口。spring-context-support支持集成第三方库,如缓存、邮件、调度、模板引擎等。

spring-expression 提供了强大的EL( expression language)在运行状态查询和操纵对象,它支持属性的赋值,通过setter和getter方法设置和获取属性值、方法调用、访问数组 集合、逻辑和数学操纵、变量命名、通过IoC容器检索对象。


2. AOP和插装

 spring-aop 模块提供了面向切面编程的实现,使我们可以定义方法拦截器和切点来使得分离功能独立的业务。使用基于源的元数据功能,我们还可以将行为信息集成到代码中,这和.NET的属性很相似。

 spring-aspects 模块支持Spring 框架整合AspectJ.

spring-instrument 在特定容器中实现类插装和类加载器的实施 。 spring-instrument-tomcat包含Tomcat的Spring插装代理。

3. 消息

 spring-messaging 模块包含从 MessageMessageChannelMessageHandler 等其他基于消息的基础应用中得到的抽象。该模块还包含一系列的注解来讲消息映射到方法上,和SpringMVC注解类似 。

4. 数据访问控制

 spring-jdbc提供JDBC抽象层 ,使我们从繁重的JDBC编程中解脱出来,并且不再需要为解析不同的数据库的异常而烦恼。

 spring-tx支持对所有POJO和实现了特定接口的类进行 编程式和申明式事务( programmatic and declarative transaction )管理。

 spring-orm整合了流行的ORM(object-relational mapping )应用程序接口,包括JPA、JDO和Hibernate。使用该模块我们可以任意使用这些ORM框架和Spring的其他功能(如上面的申明式事务管理)进行组合。

 spring-oxm为OXM(Object/XML mapping) 的实现提供抽象层,如 JAXB、Castor、XMLBeans、JiBX 和XStream。

 spring-jms 是Java消息服务(Java Messaging Service),包含产生和接受消息 。Spring Framework 4.1将它并入在spring-messaging 模块。


5. Web

 spring-web 包含基本的面向网络的集成特性,如文件分部上传,使用Servet监听器和面向网络的应用上下文初始化IoC容器。他还包括 HTTP 客户端和网络相关的 Spring远程支持。

 spring-webmvc 也被成为 Web-Servlet 模块,包含Spring的模型-视图-控制器(model-view-controller,MVC) 和 REST Web Services。 Spring  MVC 框架是得实体模型代码和网络表单清楚地分离开来,还可以轻松集成Spring框架的其他特性。

 spring-webmvc-portlet 也被称为 Web-Portlet 模块,在Portlet 容器中实现MVC,并且能使用spring-webmvc 模块的功能。


6. 测试

 spring-test 模块支持单元测试 JUnit 、集成测试 TestNG和独立代码测试 mock objects。它支持加载和缓存 Spring ApplicationContexts。


原文:http://docs.spring.io/spring/docs/4.3.0.BUILD-SNAPSHOT/spring-framework-reference/htmlsingle/#overview-getting-started-with-spring  section 2.2 modules

你可能感兴趣的:(Spring,FrameWork)