品牌型号:联想ThinkPad X1
系统:Windows10家庭版
软件版本:Spring 5.3.7
我们在做Java企业级开发的时候,Spring框架是我们经常要用的技术,不管是中小型项目的快速开发还是大型分布式系统的架构设计,Spring都能给我们带来便捷的解决方案,很多从事Java开发的小伙伴们在工作中虽然接触Spring很频繁,但是至今都没能理清Spring框架的核心组成,常常在使用过程中只感受到了Spring的便捷和灵活,但是忽视了Spring潜在的局限性。下面就给大家介绍一下Spring框架包含什么,Spring框架的优缺点的相关内容。
一、Spring框架包含什么
Spring框架是灵活且便捷的,刚学Spring的时候,很多新手会误认为Spring就是一个单一的工具类,这里要修正下观点,Spring框架可不是单一的工具类,它是由多个核心模块组成的。各个模块是相互配合的,几乎覆盖了整个后端开发的大部分场景。

我们从上面图可以看到,Spring Core核心容器是我们整个Spring框架的基础部分,主要是负责Bean的创建管理和依赖注入,这也是我们平时在写Spring项目的时候接触很频繁的部分,像我们平时用注解创建Bean。

Spring Context上下文模块是基于core容器的,扩展了Bean的功能,此外Spring AOP面向切面编程模块就很实用了,它可以帮助我们在不修改原有业务代码的情况下实现日志记录、权限控制等功能。

Spring jdbc模块,简化了我们对数据库的操作,封装了JDBC的繁琐步骤,可以让我们更加专注在业务逻辑上,另外就是Spring Web模块给我们Web开发提供了很大支持,搭配着Spring MVC我们就能快速且轻松的搭建一个Web项目处理请求和响应,可以说,这些模块相互支撑,构成了Spring 框架的核心。
二、Spring框架的优缺点
刚刚我们大概了解了Spring框架都包含了什么,下面我们再来聊聊Spring的优缺点。这样大家后面在项目选型或者使用的时候心里有数,Spring之所以能成为我们Java后端主流框架,还是因为它的解耦能力很强,通过依赖注入和面向切面编程,将业务逻辑和底层实现分离,像平时我们就不需要去过度关心Bean的创建和依赖关系,因为框架会自动给我们处理好,大大降低了代码的耦合度,我们回忆之前传统的Web项目,是不是感觉Spring项目维护起来更轻松了些呢?

Spring的兼容性和扩展性也很好,不排斥其他框架,所以我们项目中能够轻松的跟MyBatis、Spring boot、Spring Cloud等主流技术整合,不管是小型项目还是大型的分布式项目,都能灵活适配。而且Spring提供的事务管理、异常处理等功能,减少了我们很多重复代码,提高了开发效率。

Spring虽然很强大,但是它自然也有些不足的地方,因为功能确实强大,并且上面也说了Spring有很多模块,所以对于新手来说,可能需要花费一定的时间才能理清各个模块的关联和使用场景。而且很多新手程序员的误区在于,过度依赖Spring框架后,反而忽略了Java的基础原理,这并不是很利于技术深耕。
以上就是Spring框架包含什么,Spring框架的优缺点的全部内容了。Spring框架涵盖了core核心容器、AOP、事务管理、Web、数据访问等核心模块,为我们做企业级开发提供了一站式解决方案,它简化了很多开发流程,通过IOC和AOP等特性可以降低我们代码的耦合度,但是也存在一定的不足,例如学习成本偏高,配置和依赖管理相对复杂,过度封装可能会让开发者对底层逻辑理解不是很足,不过,总体来看,Spring仍然是主流框架,合理使用可以提升开发效率和系统的稳定性。