spring5的基本组成(6个模块)

1:数据访问及集成(Data Access/Integeration):jdbc,orm,oxm,jms,transactions

——由 spring-jdbc、spring-tx、spring-orm、spring-jms 和 spring-oxm 5 个模块组成。

spring-jdbc模块是 Spring 提供的 JDBC 抽象框架的主要实现模块,用于简化 Spring JDBC 操作

spring-tx 模块是 Spring JDBC 事务控制实现模块

spring-orm 模块是 ORM 框架支持模块,主要集成 Hibernate, Java Persistence API (JPA) 和Java Data Objects (JDO) 用于资源管理、数据访问对象(DAO)的实现和事务策略

spring-jms 模块(Java Messaging Service)能够发送和接收信息,自 Spring Framework 4.1 以后,他还提供了对 spring-messaging 模块的支撑

2:web:websocket,webmvc,web,webFlux

——由 spring-web、spring-webmvc、spring-websocket 和 spring-webflux 4 个模块组成

spring-web 模块为 Spring 提供了最基础 Web 支持,主要建立于核心容器之上,通过 Servlet 或者 Listeners 来初始化 IOC 容器,也包含一些与 Web 相关的支持

spring-webmvc 模块众所周知是一个的 Web-Servlet 模块,实现了 Spring MVC(model-view-Controller)的 Web 应用

spring-websocket 模块主要是与 Web 前端的全双工通讯的协议。

spring-webflux 是一个新的非堵塞函数式 Reactive Web 框架,可以用来建立异步的,非阻塞,事件驱动的服务,并且扩展性非常好

3:aop(Aspect Oriented Programming),aspects,设备支持(Instrmentation):aop,aspects,Instrmentation

——spring-aop、spring-aspects 和 spring-instrument 3 个模块组成

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

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

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

4:报文发送(Messaging):Messaging

——即 spring-messaging 模块,是从 Spring4 开始新加入的一个模块,主要职责是为 Spring 框架集成一些基础的报文传送应用。

5:核心容器(Core Container):Beans,Core,Context,Expression

——spring-beans  spring-core  spring-context  spring-expression(spring expression Language,SpEl) 4个模块组成

spring-core 和 spring-beans 模块是 Spring 框架的核心模块,包含了控制反转(Inversion ofControl, IOC)和依赖注入(Dependency Injection, DI)

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

赖关系的装配,使之处于待用状态

spring-context-support 模块是对 Spring IOC 容器的扩展支持,以及 IOC 子容器。

spring-context-indexer 模块是 Spring 的类管理组件和 Classpath 扫描。

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

6:测试(test):test

 ——spring-test 模块,主要为测试提供支持的,毕竟在不需要发布(程序)到你的应用服务器或者连接到其他企业设施的情况下能够执行一些集成测试或者其他测试对于任何企业都是非常重要的

相关推荐