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

相关推荐
AI人工智能+电脑小能手3 小时前
大白话说Java设计模式-04-工厂方法模式(业务实战篇)
java·设计模式·工厂方法模式·架构设计·代码解耦
BUG指挥官3 小时前
Sa-Token和Spring Security对比
java·后端·spring
geminigoth3 小时前
Spring AI Alibaba 入门开发一(备份)
java·人工智能·spring
xbgRS6 小时前
spring整合mybaits
java·spring·mybatis
ruleslol6 小时前
静态依赖注入 VS 动态依赖查询
spring
墨雨晨曦889 小时前
Spring AI总结
java·人工智能·spring
今天的砖头有点烫手啊9 小时前
AI Agent 开发实战(十):Agent 设计模式(ReAct / Plan-Execute / Reflection)
人工智能·react.js·设计模式
董员外9 小时前
RAG 系统进化论(十):可运营 RAG,从原型到长期运行的知识系统
人工智能·后端·设计模式
莫得感情 o10 小时前
设计模式 15 · 模板方法模式
设计模式·模板方法模式
用户31268748772011 小时前
Spring Boot 异常处理到底怎么玩的?从 DispatcherServlet 到全局兜底的全链路拆解
spring