0%

Spring Framework体系结构

Spring Framework体系结构

Spring Framework体系结构

Spring组件被分别整合在核心容器(CoreContainer)、AOP(AspectOrientedProgramming)和设备支持(Instrmentation)、数据

访问及集成(DataAccess/Integeration)、Web、报文发送(Messaging)、Test,6个模块集合中。

image-20200606101444656

1.核心容器

由spring-beans、spring-core、spring-context和spring-expression(Spring ExpressionLanguage,SpEL)4个模块组成。

spring-beans和spring-core模块是Spring框架的核心模块,包含了控制反转(InversionofControl,IOC)和依赖注入(DependencyInjection,DI)。BeanFactory接口是Spring框架中的核心接口。

spring-context模块构架于核心模块之上,他扩展了BeanFactory,为她添加了Bean生命周期控制、框架事件体系以及资源加载透明化等功能。ApplicationContext是该模块的核心接口,ApplicationContext容器实例化后会自动对所有的单实例Bean进行实例化与依赖关系的装配,使之处于待用状态。

spring-expression模块是统一表达式语言(EL)的扩展模块,可以查询、管理运行中的对象,同时也方便的可以调用对象方法、操作数组、集合等。

2.AOP相关

由spring-aop、spring-aspects和spring-instrument3个模块组成。

spring-aop是Spring的另一个核心模块,是AOP主要的实现模块。

spring-aspects模块集成自AspectJ框架,主要是为SpringAOP提供多种AOP实现方法。

spring-instrument模块是基于JAVASE中的”java.lang.instrument”进行设计的,算是AOP的一个支援模块,主要作用是在JVM启用时,生成一个代理类,程序员通过代理类在运行时修改类的字节,从而改变一个类的功能,实现AOP的功能。

3.数据处理

由spring-jdbc、spring-tx、spring-orm、spring-jms和spring-oxm5个模块组成。

4.web

由spring-web、spring-webmvc、spring-websocket和spring-webflflux4个模块组成。

5.消息支持

spring-messaging模块,为Spring框架集成一些基础的报文传送应用

6.Test测试

即spring-test模块。