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

相关推荐
2601_962073811 小时前
Spring全面详解(基础版)
java·后端·spring
凤山老林3 小时前
Spring Boot 集成 Spring Vault:集中式密钥管理与动态凭证轮换
spring boot·后端·spring·vault·集中式秘钥管理
catino3 小时前
spring-Bean
java·后端·spring
AIGC小尼6 小时前
2026 最新实战|SpringCloud 微服务整合 SpringAI 完整落地教程(RAG 知识库 + 限流降级 + 跨服务调用)
spring·spring cloud·微服务
2601_962055816 小时前
Spring全部注解
java·后端·spring
Supersist9 小时前
【Spring】 BeanFactory 和 ApplicationContext 体系结构
后端·spring
码匠许师傅10 小时前
【设计模式精讲】7.建造者模式(Builder)
设计模式·建造者模式
Sam_Deep_Thinking11 小时前
聊聊开闭原则,以及它在Spring里的样子
java·后端·spring·程序员·开闭原则
码匠许师傅11 小时前
【设计模式精讲】6.抽象工厂(Abstract Factory)
c++·设计模式
SQL-First布道者11 小时前
⚡ Spring JDBC 完整体系 · 第 5 讲 · Spring Boot Starter JDBC
java·spring boot·spring·mybatis·spring jdbc