每日一题:Spring 框架中都用到了哪些设计模式❓

Spring 框架中使用了许多设计模式,以下列举一些比较重要的:

  1. 单例模式🔥:Spring 的 Bean 默认是单例模式,通过 Spring 容器管理 Bean 的生命周期,保证每个 Bean 只被创建一次,并在整个应用程序中重用。扩展阅读:Bean 的生命周期
  2. 工厂模式🔥:Spring 使用工厂模式通过 BeanFactory 和 ApplicationContext 创建并管理 Bean 对象。扩展阅读:Spring 的三级缓存
  3. 代理模式🔥:Spring AOP 基于动态代理技术,使用代理模式实现切面编程,提供了对 AOP 编程的支持。
  4. 观察者模式🔥:Spring 中的事件机制基于观察者模式,通过 ApplicationEventPublisher 发布事件,由 ApplicationListener 监听事件,实现了对象间的松耦合。
  5. 模板方法模式🔥:Spring 中的 JdbcTemplate 使用了模板方法模式,将一些固定的流程封装在父类中,子类只需实现一些抽象方法即可。
  6. 策略模式🔥:Spring 中的 HandlerInterceptor 和 HandlerExecutionChain 使用了策略模式,允许开发者自定义处理器拦截器,按照一定顺序执行。
  7. 责任链模式🔥:Spring 中的过滤器和拦截器使用了责任链模式,多个过滤器和拦截器按照一定顺序执行,每个过滤器和拦截器可以拦截请求或者响应并做出相应的处理。

总之,Spring 框架中充分利用了许多设计模式,提供了良好的扩展性和灵活性,降低了代码的耦合度,提高了代码的可维护性。

相关推荐
左左右右左右摇晃1 小时前
Java笔记——JMM
java·后端·spring
Schengshuo1 小时前
Spring学习——新建module模块
java·学习·spring
super_lzb1 小时前
resources路径下的文件无法打入war包或jar包内
spring·springboot·springboot打包·war包·sources资源文件
kyriewen1 小时前
Generator 函数:那个能“暂停”的函数,到底有什么用?
前端·javascript·面试
Moe4882 小时前
Redis 缓存三大经典问题:穿透、击穿与雪崩
java·后端·面试
MarkHD2 小时前
RPA工程化实践:三种核心设计模式让复杂流程优雅可控
linux·设计模式·rpa
AI大法师2 小时前
字标Logo设计指南:中文品牌如何用字体做出高级感与辨识度
人工智能·设计模式
Yu_Lijing3 小时前
基于C++的《Head First设计模式》笔记——中介者模式
笔记·设计模式·中介者模式
zb200641203 小时前
spring security 超详细使用教程(接入springboot、前后端分离)
java·spring boot·spring
RuoyiOffice4 小时前
SpringBoot+Vue3+Uniapp实现PC+APP双端考勤打卡设计:GPS围栏/内网双模打卡、节假日方案、定时预生成——附数据结构和核心源码讲解
java·spring·小程序·uni-app·vue·产品运营·ruoyi