系列二、Spring Framework(Spring的优缺点是什么)

一、Spring的优缺点是什么

1.1、优点

(1)方便解耦,简化开发

通过Spring提供的IOC容器,我们可以将对象之间的依赖关系交由Spring容器管理,避免硬编码所造成的过度耦合,有了Spring用户不必再为单实例模式类、属性文件解析等这些底层的需求编写代码,可以更关注于上层的应用。

人话:集中管理对象,降低对象和对象之间的耦合性,方便维护对象。

(2)AOP编程的支持

通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付,Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中管理,从而提高复用性。

人话:在不修改代码的情况下可以对业务代码进行增强,减少重复代码,提高开发效率,方便维护。

(3)声明式事务的支持

在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

人话:提高开发效率,只需要一个@Transactional注解,即可完成事务管理

(4)方便程序测试

可以用非容器依赖的方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。例如:Spring对Junit4的支持,可以通过注解方便的测试Spring程序。

人话:Spring实现了测试,使我们可以结合Junit非常方便的测试Spring Bean、SpringMVC

(5)方便集成各种优秀框架

Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,提供了对各种优秀开源框架的直接支持,例如:Struts、Hibernate、Hessian、Quartz等。

人话:拥有非常强大的粘合度,集成能力非常强,只需要简单的配置就可以集成第三方框架。

(6)降低JavaEE API的使用难度

Spring对很多难用的JavaEE API(如Jdbc、JavaMail、RestTemplate等)提供了一个薄薄的封装层,通过Spring的简易封装,使这些API的使用难度大大减低。

人话:简化开发,帮我们封装了很多功能性的代码。

(7)Java源码是经典学习范例

Spring的源码设计精妙、结构清晰、匠心独运、处处体现着大师对Java设计模式的灵活运用以及对Java技术的高深造诣。Spring框架源码无疑是Java技术的最佳实践,如果想在短时间内快速提高自己的开发水平,学习和研究Spring源码将会使你收到意想不到的效果。

人话:Spring的底层大量使用了反射、设计模式等技术,提供了非常多的扩展接口供外部进行扩展,很值得我们去学习。

1.2、缺点

(1)从应用层方面来讲Spring是没有缺点的;

(2)Spring简化了我们的日常开发,但是如果我们想要深入到底层去了解的话就非常困难(上层使用越简单,底层封装的就越复杂);

(3)源码缺点:由于Spring大而全,代码量非常庞大(100多万行代码),对于去深入学习研究带来了一定的困难;

相关推荐
数据龙傲天9 分钟前
1688商品API接口:电商数据自动化的新引擎
java·大数据·sql·mysql
带带老表学爬虫38 分钟前
java数据类型转换和注释
java·开发语言
engineer-gxd44 分钟前
MySQL 表的操作
mysql
千里码aicood1 小时前
【2025】springboot教学评价管理系统(源码+文档+调试+答疑)
java·spring boot·后端·教学管理系统
cyt涛1 小时前
MyBatis 学习总结
数据库·sql·学习·mysql·mybatis·jdbc·lombok
彭于晏6891 小时前
Android广播
android·java·开发语言
程序员-珍1 小时前
使用openapi生成前端请求文件报错 ‘Token “Integer“ does not exist.‘
java·前端·spring boot·后端·restful·个人开发
2401_857297912 小时前
招联金融2025校招内推
java·前端·算法·金融·求职招聘
福大大架构师每日一题2 小时前
23.1 k8s监控中标签relabel的应用和原理
java·容器·kubernetes
金灰2 小时前
HTML5--裸体回顾
java·开发语言·前端·javascript·html·html5