品牌型号:联想ThinkPad X1
系统:Windows10家庭版
软件版本:Spring 5.3.7
Java从发布到现在一直凭借跨平台、安全、可扩展成为了不少企业在技术选型时的主要技术栈,在大型项目开发的时候,Java的面向对象特性能够实现代码的模块化拆分,但是随着项目规模的逐步扩大,在Controller、Service、Dao层上创建对象的时候,层与层之间高度耦合,并且接口与具体实现也紧密耦合在一起,就好比手表内部的齿轮一样,每个齿轮都紧密啮合在一起,一旦某个齿轮出现异常,那么整个系统就会崩溃。依靠Java原生API很难解决高耦合的痛点,Spring框架的出现简化了JavaEE的开发流程,那么什么是Spring框架呢?Spring框架有多少个小模块呢?希望通过本篇文章,可以让初学者理清这两个问题。
一、什么是Spring框架
Spring框架是一个开源且轻量级的Java应用框架,能够简化企业级的应用开发降低系统耦合度,随着Spring的发布,也规范了行业内代码编写规范,提高了开发效率。

Spring的主要思想是IOC控制反转和AOP面向切面编程,给Java开发者提供了全面的开发解决方案,是目前企业中Java开发几乎不能缺少的框架之一,Spring的生态很完善,不管是Spring哪个领域的解决方案都是基于Spring Framework基础框架上。

Spring的IOC控制反转,是将Bean的创建权从原来在程序中手动通过new对象的方式创建,反转给第三方Bean工厂来创建。

AOP面向切面编程可以理解为是对面向对象编程OOP的升华,OOP是对一个事物的纵向抽象,AOP是横向的对不同事物进行抽象,可将属性、方法、对象等维度横向抽象为切面。
二、Spring框架有多少个小模块
Spring框架可不是类似于JDBC那样一个单一的代码集合,它是由很多个功能独立并且相互协作的小模块组成的,这些模块都是围绕着Spring的核心思想IOC、AOP构建,涵盖了JavaEE开发的各类场景。核心模块总共有19个,可以分为核心容器、数据访问/集成、Web、AOP、工具类、测试六大模块组,在这些模块组下面又包含了具体的功能模块,都可以单独拿出来使用。

其中Core Container模块组是Spring框架的基础,这其中包括了Spring Core、Spring Beans、SpringContext、Spring Expression Language等功能模块,负责对象的构建、依赖注入以及生命周期管理,是Spring框架的核心支撑。在Data Access/Integration模块组内包含了JDBC、ORM、OXM、JMS、Transaction等5个模块,主要是用来简化数据访问操作,可以实现跟各类数据库、消息中间件的集成,降低了数据层开发的难度。

Web模块组包含了Web、Web MVC、Web Socket、Web Portlet这四个模块,专注Web应用的开发,提供了SpringMVC等核心功能,支持Web层快速构建和交互,AOP模块包含了AOP、Aspects,实现面向切面编程思想,对业务逻辑进行统一增强。
以上就是什么是Spring框架,Spring框架有多少个小模块的全部内容了。Spring是一个轻量级的开源框架,核心思想包括了IOC控制反转、AOP面向切面编程,在java开发领域影响深远,为Java开发者提供了全面的解决方案,Spring框架有19个小模块,可以分为6个模块组,每一个小模块都可以拿出来单独使用。