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

相关推荐
綝~5 小时前
爬虫数据采集工程师岗位面试题
爬虫·面试·请求
云烟成雨TD6 小时前
Spring AI 1.x 系列【51】可观测性技术选型
java·人工智能·spring
unicrom_深圳市由你创科技6 小时前
基于Spring AI框架的RAG应用
人工智能·spring·机器学习
七老板的blog8 小时前
当 Spring StateMachine 遇见大模型:构建工业级 AI 写作流水线
java·人工智能·spring
云烟成雨TD8 小时前
Spring AI 1.x 系列【46】MCP Security 模块
java·人工智能·spring
乐观的山里娃9 小时前
【反八股 01】HashMap 的设计参数是怎么来的
面试
小旭95279 小时前
Spring AI Alibaba 从入门到实战:一站式掌握企业级 AI 应用开发
java·人工智能·spring
嵌入式ZYXC10 小时前
第3篇:《面试题:I2C为什么要加上拉电阻?阻值怎么选?》
stm32·单片机·嵌入式硬件·面试·职场和发展
sbjdhjd10 小时前
面试(5)| 3.5 小时面试复盘第五弹:加班出差 + 客户响应 + 压力面全拆解
经验分享·程序人生·面试·职场和发展·开源·跳槽·求职招聘
云烟成雨TD10 小时前
Spring AI 1.x 系列【50】可观测性:接入 Prometheus + Grafana
人工智能·spring·prometheus