品牌型号:联想ThinkPad X1
系统:Windows10家庭版
软件版本:Spring 5.3.7
学Java绕不开Spring,但真要问" Spring Framework是个什么东西",很多人答不上来,有直接说是一个框架,也有说是用来做依赖注入的,说得都对,但都不完整。 Spring Framework其实是一个体系,底下分了很多模块,各自负责不同的事情。平时用的依赖注入、AOP、事务管理、WebMVC,都是其中的一部分。如果我们不了解,那么用Spring就容易停留在"会用但不知道为什么"的阶段。下面就给大家介绍一下Spring Framework有哪些模块,Spring Framework是什么框架的相关内容。
一、Spring Framework有哪些模块
Spring Framework并不是单一的东西,它是由一组模块拼在一起的体系,按功能分成几个大块,用哪些、不用哪些,可以自己选。像CoreContainer,也就是核心容器,包括Beans、Core、Context、SpEL这几个部分。依赖注入、Bean的生命周期管理都在这里,是整个Spring的地基,其他模块基本都建在它上面。

AOP模块提供面向切面编程的能力,事务、日志、权限这类横切逻辑都靠它实现。Spring里的声明式事务@Transactional,底层就是AOP在做代理。

常用的还有DataAccess模块,它负责数据访问这块,封装了JDBC的繁琐操作,集成了ORM框架,比如Hibernate、MyBatis。同时也提供了事务管理的支持。和数据库打交道的事,基本都跟这个模块有关。

Web模块里最常用的是SpringMVC,处理HTTP请求、路由分发、参数绑定等工作。后来又加了SpringWebFlux,走响应式编程路线,很适合我们高并发的场景。

二、Spring Framework是什么框架
说起Spring Framework,很多刚入行的同学的反应可能是听说过但说不清楚,其实一句话概括就是:它是一个面向Java应用的开源轻量级框架,它的核心目标就是让企业级开发变得简单点,再简单一点。
Spring最早是由RodJohnson在2003年正式发布,如果提到它诞生的背景,那就不得不提到EJB了。如果各位有用过EJB,那就会知道当年EJB配置有多繁琐,真让开发者叫苦不迭,Spring就是在这种背景下诞生的。

从框架类型来看,Spring本质上是一个全栈式的基础设施框架,而不是单一用途的工具库。它有两个最核心的编程思想撑着整个骨架。一个是IOC控制反转,在传统写法里,对象自己去new依赖,而Spring把这件事反过来,由容器统一管理对象的创建和注入。

还有一个是AOP面向切面编程,像日志、事务、权限校验这类和业务逻辑关联紧密却又不该混在一起的代码,Spring允许把它们抽出来,单独定义成"切面",在合适的时机织入,代码干净了不少。

除此之外,Spring还提供了对数据访问、WebMVC、消息队列、测试等场景的完整支持,整个生态演变成了今天的Spring全家桶,Spring Boot、Spring Cloud等均以此为基础。
以上就是Spring Framework有哪些模块,Spring Framework是什么框架的全部内容了。Spring Framework是一款功能全面、分层解耦的Java开源开发框架,凭借核心容器、AOP、数据访问、Web等模块化设计,将复杂业务拆解为独立单元,各个模块各司其职又能灵活组合,从而简化了Java的开发流程。