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

相关推荐
你们补药再卷啦8 分钟前
不用额外下载jar包,idea快速查看使用的组件源码
java·ide·intellij-idea
飞翔沫沫情10 分钟前
《MySQL 5.7.44审计合规实践:插件集成与日志分割自动化方案》
数据库·mysql·mysql审计
爱的叹息22 分钟前
Spring Boot 自定义配置类(包含字符串、数字、布尔、小数、集合、映射、嵌套对象)实现步骤及示例
java·linux·spring boot
@西瓜@1 小时前
JAVAEE(多线程-线程池)
java·开发语言
returnShitBoy2 小时前
Go语言中的垃圾回收是如何工作的?
java·jvm·golang
有什么东东2 小时前
山东大学软件学院创新项目实训开发日志(9)之测试前后端连接
java
zhangpeng4555479402 小时前
用Java写一个MVCC例子
java·开发语言
谦行2 小时前
前端视角 Java Web 入门手册 5.1:真实世界 Web 开发——初识 Spring Boot
java·后端
自在如风。3 小时前
Java 设计模式:策略模式详解
java·设计模式·策略模式
API小爬虫3 小时前
如何利用 Java 爬虫获取京东商品详情信息
java·开发语言·爬虫