每日一题: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 框架中充分利用了许多设计模式,提供了良好的扩展性和灵活性,降低了代码的耦合度,提高了代码的可维护性。

相关推荐
老码观察6 分钟前
设计模式实战解读(一):单例模式——全局唯一实例的正确打开方式
单例模式·设计模式
I Promise3412 分钟前
多传感器融合&模型后处理C++工程师面试参考回答
开发语言·c++·面试
老码观察22 分钟前
设计模式实战解读(二):工厂模式——对象创建的解耦艺术
设计模式·log4j
会编程的土豆1 小时前
消息队列(MQ)入门笔记
java·笔记·spring
涤生大数据1 小时前
大数据面试高频题:row_number() 数据倾斜到底怎么解决?
java·大数据·面试
摇滚侠1 小时前
HashMap 源码解析 底层原理 面试如何回答
java·面试·职场和发展
彦为君2 小时前
JavaSE-11-ByteBuffer(NIO核心组件)
java·开发语言·前端·数据库·后端·spring·nio
一切顺势而行2 小时前
easysearch 安装
spring·spring cloud·微服务
刀法如飞2 小时前
《理解道德经》简单版-第 1 章:道可道,非常道
前端·后端·面试
Jing_jing_X2 小时前
DeepSeek 的上下文缓存是什么?它和程序里的 Redis 缓存一样吗?
redis·spring·缓存·ai