Spring Framework体系结构
Spring Framework体系结构
Spring组件被分别整合在核心容器(CoreContainer)、AOP(AspectOrientedProgramming)和设备支持(Instrmentation)、数据
访问及集成(DataAccess/Integeration)、Web、报文发送(Messaging)、Test,6个模块集合中。

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模块。