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

相关推荐
Suhan421 小时前
IDEA 设置启动参数和环境变量
spring boot·spring·编辑器·idea
南一Nanyi2 小时前
依赖注入和控制反转
前端·设计模式·nestjs
橘子海全栈攻城狮4 小时前
【最新源码】基于SpringBoot + Vue的超市管理系统的设计与实现D002
java·开发语言·vue.js·spring boot·后端·spring
空中湖4 小时前
Spring AI Function Calling 完全指南:让 AI 查数据库、调 API、发通知
数据库·人工智能·spring
风起洛阳@不良使5 小时前
spring中xml和注解开发的对比
xml·java·spring
weixin_727535625 小时前
双Token认证体系深度拆解:Spring Security + JWT + Redis
redis·spring·wpf
tiankong12136 小时前
如何拓展多态下的子类
设计模式·c#
Ethan01077 小时前
spring事务隔离级别,如果数据库设置为RC,spring可以改为RR吗
spring
Ethan01077 小时前
详解Spring 事务三大核心接口,以及我们能用它来做什么
spring
jctech8 小时前
让「小程序」跑起真正的原生代码:ComboNative 多进程原生小程序运行时 · Alpha 首发
android·设计模式·架构