Spring中使用了哪些设计模式

1、工厂模式

在各种BeanFactory以及ApplicationContext创建中都用到了。

2、模板模式

在各种BeanFactory以及ApplicationContext实现中也都用到了。

3、代理模式

Spring AOP 利用了AspectJ AOP实现的,AspectJ AOP底层使用了动态代理。

4、策略模式

加载资源文件的方式,使用了不同的方法,如ClassPathResource,FileSystemResource,ServletContextResource,URLResource,但它们都有共同的接口Resource;

在AOP的实现中,采用了两种不同的方式,JDK动态代理和CGLIB代理。

5、单例模式

比如在创建Bean的时候。

6、观察者模式

spring的ApplicationEvent,ApplicationListener,ApplicationEventPublisher

7、适配器模式

MethodBeforeAdviceAdapter,ThorwsAdviceAdaper,AfterReturningAdapter

8、装饰着模式

源码中类型带Warpper或者Decorator的都是。

相关推荐
口袋物联7 小时前
设计模式之工厂模式在 C 语言中的应用(含 Linux 内核实例)
linux·c语言·设计模式·简单工厂模式
phdsky10 小时前
【设计模式】建造者模式
c++·设计模式·建造者模式
小毛驴85010 小时前
软件设计模式-装饰器模式
python·设计模式·装饰器模式
daidaidaiyu11 小时前
Spring IOC 源码学习一 基本姿势
java·spring
间彧12 小时前
Spring AOT + GraalVM Native Image:云原生Java的效能引擎
spring
phdsky12 小时前
【设计模式】代理模式
设计模式·代理模式
百***359415 小时前
【Java EE】Spring请求如何传递参数详解
spring·java-ee·lua
老友@15 小时前
深入 Spring AI:架构与应用
人工智能·spring·ai·架构
Li_76953217 小时前
10分钟快速入手Spring Cloud Config
java·spring·spring cloud
on the way 12320 小时前
day01-spring底层核心解析
spring