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的都是。

相关推荐
skiy6 分钟前
springboot+全局异常处理
java·spring boot·spring
心勤则明25 分钟前
使用SpringAIAlibaba给上下文“瘦身”
java·人工智能·spring
YMWM_1 小时前
python3中的装饰器介绍及其应用场景
java·后端·spring
大阿明1 小时前
Spring.factories
java·数据库·spring
菜鸟程序员专写BUG1 小时前
SpringBoot 事务失效报错全集|rollback不生效/事务不回滚/传播机制踩坑全解决
java·spring boot·spring
无籽西瓜a1 小时前
【西瓜带你学设计模式 | 第二期-观察者模式】观察者模式——推模型与拉模型实现、优缺点与适用场景
java·后端·观察者模式·设计模式
空空潍2 小时前
Spring AI 实战系列(四):Prompt工程深度实战
java·人工智能·spring·prompt
爱喝白开水a3 小时前
春节后普通程序员如何“丝滑”跨行AI:不啃算法,也能拿走AI
java·人工智能·算法·spring·ai·前端框架·大模型
lclcooky3 小时前
Spring 核心技术解析【纯干货版】- XII:Spring 数据访问模块 Spring-R2dbc 模块精讲
java·后端·spring
杰克尼4 小时前
知识点总结--day07(Spring-MVC框架)
java·spring·mvc