Spring5体系结构

A key element of Spring is infrastructural support at the application level: Spring focuses on the “plumbing” of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

Spring Framework 5 Runtime

Spring Moudle Denpendcy

核心模块

模块名称 主要功能
spring-core IOC与DI的最基本实现
spring-beans Bean工厂与Bean的装配
spring-context 定义基础的Spring Context的上下文,即IOC容器
spring-context-support 对Spring IOC容器的扩展支持及IOC子容器
spring-context-indexer Spring的类管理组件和Classpath扫描
spring-expression Spring表达式语言

切面编程

模块名称 主要功能
spring-aop 面向切面编程的应用模块,整合了ASM、CGLIB、JDKProxy
spring-aspects 集成AspectJ,AOP应用框架
spring-instrument 动态Class Loading模块

数据访问与集成

模块名称 主要功能
spring-jdbc Spring提供的JDBC抽象框架的主要实现模块,用于简化Spring JDBC操作
spring-tx Spring JDBC 事务控制实现模块
spring-orm 主要集成Hibernate、Java Persistence API(JPA)和Java Data Objects(JDO)
spring-oxm 将Java对象映射成XML数据,或者将XML数据映射成Java对象
spring-jms Java Messaging Service能够发送和接收信息

Web组件

模块名称 主要功能
spring-web 提供了最基础的web支持,主要建立于核心容器之上,通过Servlet或Listeners来初始化容器
spring-webmvc 实现了Spring MVC(model-view-controller)的Web应用
spring-websocket 主要是于Web前端全双工通讯的协议
spring-webflux 一个新的非阻塞函数式Reactive Web框架,可以用来建立异步的、非阻塞的、事件驱动的服务

通信报文

模块名称 主要功能
spring-messaging 为Spring框架集成一些基础的报文传送应用(Spring4新加入的模块)

集成测试

模块名称 主要功能
spring-test 为测试提供支持

集成兼容

模块名称 主要功能
spring-framework-bom Bill of Materials,解决Spring的不同模块依赖版本不同问题