Spring由哪些模块组成?

Spring由哪些模块组成?

Spring由哪些模块组成?

简单描述则是主要由以下几个模块组成:

Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块,这些模块大体分为Core Container、Data Access/Integration、Web、AOP(Aspect Oriented Programming)、Instrumentation、Messaging和Test。

上图中,包含了Spring框架的所有模块,其中,灰色背景模块为本书中所涉及的主要模块。接下来分别对体系结构中的模块作用进行简单介绍,具体如下。

Core Container(核心容器)

Spring的核心容器是其他模块建立的基础,它主要由Beans模块、Core模块、Context模块、Context-support模块和SpEL(Spring Expression Language,Spring表达式语言)模块组成,具体介绍如下。

Beans模块:这个模块是Spring框架的基础,提供了Bean的定义、创建和管理的功能。它包括了BeanFactory接口和相关的实现类,用于加载、实例化和管理Bean对象。

Core模块:这个模块提供了Spring框架的核心功能,包括依赖注入(DI)和控制反转(IOC)等。它通过IOC容器管理对象的创建和依赖关系,实现了对象之间的解耦合。

Context模块:这个模块建立在Core模块的基础上,提供了更高级的容器功能,如国际化、事件传播、资源加载等。它是Spring应用程序的运行环境,提供了上下文(ApplicationContext)的实现。

Context-support模块:这个模块提供了与特定环境相关的上下文支持,如Web应用程序、企业级应用程序等。它包括了对Servlet、JSP、JMX等的支持,方便在不同环境下使用Spring框架。

SpEL模块:这个模块提供了Spring Expression Language(SpEL),是一种强大的表达式语言。它可以在运行时对对象进行解析和操作,支持属性访问、方法调用、条件判断等,用于配置和处理Spring框架中的各种表达式。

Data Access/Integration(数据访问/集成层)

数据访问/集成层包括JDBC、ORM、OXM、JMS和Transactions模块,具体介绍如下。

JDBC模块:这个模块提供了对JDBC(Java Database Connectivity)的封装和支持,简化了与关系型数据库的交互。它提供了JdbcTemplate等类,用于执行SQL语句、处理结果集等操作。

ORM模块:这个模块提供了对对象关系映射(ORM)框架的支持,如Hibernate、MyBatis等。它通过封装和整合这些框架,简化了与数据库的交互,提供了更高级的持久化和查询功能。

OXM模块:这个模块提供了对对象-XML映射(OXM)的支持,用于处理XML数据和对象之间的转换。它包括了对JAXB、Castor等框架的封装,方便在Spring应用中进行XML数据的读写和转换。

JMS模块:这个模块提供了对Java消息服务(JMS)的支持,用于实现异步消息的发送和接收。它封装了JMS API,提供了消息的生产和消费功能,方便在Spring应用中进行消息的处理和管理。

Transactions模块:这个模块提供了对事务管理的支持,用于处理数据库事务的提交和回滚。它提供了声明式事务的配置方式,可以通过注解或XML进行事务的定义和管理,简化了事务处理的过程。

Web层

Spring的Web层包括WebSocket、Servlet、Web和Portlet模块,具体介绍如下。

WebSocket模块:这个模块提供了对WebSocket协议的支持,用于实现实时的双向通信。它封装了WebSocket API,提供了WebSocket消息的发送和接收功能,方便在Spring应用中进行实时通信的开发。

Servlet模块:这个模块提供了对Servlet API的支持,用于处理HTTP请求和响应。它封装了Servlet API,提供了DispatcherServlet等类,用于处理请求的分发和处理,实现了基于MVC的Web开发模式。

Web模块:这个模块提供了更高级的Web功能,如文件上传、国际化、验证等。它包括了MultipartResolver、LocaleResolver等类,用于处理文件上传、国际化和验证等任务,方便在Spring应用中进行Web开发。

Portlet模块:这个模块提供了对Portlet API的支持,用于开发基于Portlet规范的Web应用程序。它封装了Portlet API,提供了Portlet MVC框架,方便在Spring应用中进行Portlet开发。

其他模块

Spring的其他模块还有AOP、Aspects、Instrumentation以及Test模块,具体介绍如下。

AOP模块:这个模块提供了对面向切面编程(AOP)的支持,用于实现横切关注点的模块化。它通过定义切点和切面,将横切逻辑与业务逻辑分离,实现了横切关注点的重用和集中管理。

Aspects模块:这个模块是在AOP模块的基础上构建的,提供了一些常用的切面实现,如事务管理、安全性、缓存等。它封装了这些切面的实现,方便在Spring应用中进行切面的配置和使用。

Instrumentation模块:这个模块提供了对Java虚拟机(JVM)的仪器化支持,用于监控和管理应用程序的运行。它包括了对JVM工具接口(JVM TI)的封装,提供了对类加载、内存管理等的监控和控制功能。

Test模块:这个模块提供了对Spring应用程序的测试支持,包括单元测试、集成测试等。它提供了一些测试类和注解,用于方便地编写和执行Spring应用程序的各种测试。

相关推荐

《只狼》的商人在什么地方 卖药的商人位置分享
帕萨特和迈腾相比较,到底哪个质量更好?
365是正规平台吗

帕萨特和迈腾相比较,到底哪个质量更好?

07-24 👁️ 2325
英格兰进入2014世界杯足球赛决赛圈
365bet正网注册

英格兰进入2014世界杯足球赛决赛圈

07-31 👁️ 991