系列二、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多万行代码),对于去深入学习研究带来了一定的困难;

相关推荐
西京刀客6 分钟前
macos安装openjdk17
java·macos·java17
Java中文社群1 小时前
面试官:如何实现动态线程池的任务编排?
java·后端·面试
lozhyf1 小时前
能发弹幕的简单视频网站
java·spring boot·后端
微露清风1 小时前
系统性学习数据结构-第三讲-栈和队列
java·数据结构·学习
AAA修煤气灶刘哥1 小时前
ES 地理查询玩明白,产品要的 “附近的店” 再也难不倒我!(附 DSL+Java 实战)
java·后端·elasticsearch
雾里华2 小时前
Spring AOP深度解析:从实现原理到最佳实践
spring
十八旬2 小时前
苍穹外卖项目实战(day-5完整版)-记录实战教程及问题的解决方法
java·开发语言·spring boot·redis·mysql
m0_749299952 小时前
Nginx主配置文件
java·服务器·nginx
╭╰4022 小时前
苍穹外卖优化-续
java·spring·mybatis
金銀銅鐵2 小时前
[Java] 枚举常量的精确类型一定是当前枚举类型吗?
java·后端