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

相关推荐
尘鹄15 分钟前
go 初始化组件最佳实践
后端·设计模式·golang
FrankYoou7 小时前
Spring Boot + Spring MVC 项目结构
spring boot·spring·springmvc
小蜗牛在漫步7 小时前
23种设计模式-组合模式
设计模式·组合模式
zzywxc7878 小时前
AI行业应用:金融、医疗、教育、制造业的落地案例全解析
人工智能·深度学习·spring·机器学习·金融·数据挖掘
努力也学不会java8 小时前
【设计模式】代理模式
java·设计模式·代理模式
来一杯龙舌兰9 小时前
【Sharding-JDBC】Spring/Spring Boot 集成 Sharding-JDBC,分表策略与 API、YAML 配置实践
java·spring boot·spring
on the way 12310 小时前
Spring WebFlux 流式数据拉取与推送的实现
java·后端·spring
上官浩仁12 小时前
springboot knife4j 接口文档入门与实战
java·spring boot·spring
optimistic_chen13 小时前
【Java EE进阶 --- SpringBoot】Spring IoC
spring boot·后端·spring·java-ee·mvc·loc
wuk99813 小时前
在Spring MVC中使用查询字符串与参数
java·spring·mvc