Spring框架的功能大约由20个模块组成,我们将Spring源码拉取下来之后,可以看到Spring项目有众多子模块,如下图所示:
各模块介绍如下:
模块 | 描述 |
---|---|
spring-aop | SpringAOP切面处理,如动态代理,AOP字节码提升 |
spring-aspects | 同样是面向切面的一个重要的组成部分,提供对AspectJ框架的整合 |
spring-beans | SpringBean相关,如依赖注入,依赖查找 |
spring-context | 事件驱动、注解驱动、模块驱动等 |
spring-core | Spring基础API模块,如资源管理,泛型处理 |
spring-expression | Spring表达式语言 |
spring-instrument | 提供了对检测类的支持和用于特定的应用服务器的类加载器的实现 |
spring-jcl | Spring对日志的封装 |
spring-jdbc | Spring对传统JDBC的封装 |
spring-jms | 生产者和消费者的消息功能的实现 |
spring-messaging | 提供对消息中间件的支持 |
spring-orm | Spring对ORM框架的封装 |
spring-oxm | 即Object XML Mapper,它的作用是对Java对象和XML文档之间来回转换 |
spring-tx | 提供事务的支持 |
spring-web | 供基础的Web集成功能,在Web项目中提供Spring的容器 |
spring-webflux | 是函数式响应的web模块,基于Reative事件驱动实现的 |
spring-webmvc | 提供基于Servlet的Spring MVC |
spring-websocket | 提供WebScoket功能 |