Spring 框架中都用到了哪些设计模式

简单工厂:

  • AOP的方法调用:Spring AOP通过责任链模式实现通知(Advice)的调用,确保通知按顺序执行。

责任链模式:

  • Spring几乎所有的外接扩展:Spring框架的许多模块和外部扩展都采用模板方法模式,例如JdbcTemplate、HibernateTemplate等。

模板方法模式:

  • excludeFilters、includeFilters :Spring允许使用策略模式来定义包扫描时的过滤策略,如在**@ComponentScan** 注解中使用的excludeFilters 和includeFilters。

策略模式:

  • Spring的事件监听:Spring的事件监听机制是观察者模式的应用,它允许组件监听和响应特定类型的事件,实现了松耦合的组件通信。

观察者模式:

  • AOP底层:Spring的AOP(面向切面编程)底层通过代理模式来实现切面功能,包括JDK动态代理和CGLIB代理。

代理模式:

  • BeanWrapper :Spring的BeanWrapper允许在不修改原始Bean类的情况下添加额外的功能,这是装饰器模式的实际应用。

装饰器模式:

  • SpringMVC中的HandlerAdapter :SpringMVC的HandlerAdapter允许不同类型的处理器适配到处理器接口,以实现统一的处理器调用。这是适配器模式的应用。

适配器模式:

  • Bean实例:Spring默认将Bean配置为单例,确保在容器中只有一个共享的实例,这有助于节省资源和提高性能。

单例模式:

  • FactoryBean :FactoryBean 接口允许用户自定义Bean的创建逻辑,实现了工厂方法模式。开发人员可以使用FactoryBean来创建复杂的Bean实例。

工厂方法:

  • BeanFactory :Spring的BeanFactory充当工厂,负责根据配置信息创建Bean实例。它是一种工厂模式的应用,根据指定的类名或ID创建Bean对象。
相关推荐
denlaku12 分钟前
JDK 10 新特性详解
java·开发语言
程序员耄耋16 分钟前
JDK21的下载与安装(2025.8.2)
java
~木雨20 分钟前
Java 线程从生到死:创建三式、六态流转、中断协作与死锁活锁饥饿,一篇讲透
java·java并发·虚拟线程·死锁·线程状态·中断机制
Wang's Blog27 分钟前
Java框架 SpringCloud 快速入门: Nacos 服务多级存储模型
java·spring·spring cloud
小羊没烦恼!27 分钟前
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
java·开发语言·前端·数据库·算法·c#
Chase_______29 分钟前
【杂项知识点】一文搞懂 JVM、JRE 与 JDK:从概念混淆到生产部署
java·开发语言·jvm
Nebula_g34 分钟前
JavaSE拓展:Arrays和Collections工具类
java·开发语言·算法·排序算法·工具类·javase·技术栈
一个有温度的技术博主41 分钟前
凌晨三点的消息堆积:当 MQ 变成“停车场“
java·后端·场景
成旭先生1 小时前
AI 文本审核 API:一段中文文本判风险等级、命中标签与处置建议
java·前端·人工智能·api接口·内容风控·文本审核·ugc审核
~~~4551 小时前
Java 数组详细笔记
java