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

相关推荐
短剑重铸之日1 小时前
《SpringBoot4.0初识》第一篇:前瞻与思想
java·开发语言·后端·spring·springboot4.0
廋到被风吹走3 小时前
【Spring】Spring MVC核心原理与RESTful最佳实践详解
spring·mvc·restful
HL_风神3 小时前
设计原则之迪米特
c++·学习·设计模式
HL_风神3 小时前
设计原则之合成复用
c++·学习·设计模式
大爱编程♡5 小时前
Spring IoC&DI
数据库·mysql·spring
Aeside16 小时前
揭秘 Nginx 百万并发基石:Reactor 架构与 Epoll 底层原理
后端·设计模式
zhglhy6 小时前
Spring Data Slice使用指南
java·spring
帅气的你7 小时前
从零封装一个通用的 API 接口返回类:统一前后端交互格式
java·设计模式
阿里巴巴淘系技术团队官网博客7 小时前
GenAI输出内容控制的5种设计模式
设计模式