Spring框架中的8种设计模式

前言

Spring框架中的8种设计模式分别是:1、简单工厂。2、工厂方法。3、单例模式。4、适配器模

式。5、装饰器模式。6、代理模式。7、观察者模式。8、策略模式.

1、简单工厂

Spring中的BeanFactory 就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象

但是否在传入参数后创建还是传入参数前创建这个要根据具体情况来定。

2、工厂方法

实现了FactoryBean接口的bean是一类叫做factory的bean。其特点是Spring会在使用getBean()调

用获得该bean时,会自动调用该bean的getObject()方法,所以返回的不是factory这个bean,而是

这个bean.getOjbect()方法的返回值。

3、单例模式

Spring依赖注入Bean实例默认是单例的

Spring的依赖注入(包括lazy-init方式)都是发生在AbstractBeanFactory的getBean里。getBean的

doGetBean方法调用getSingleton进行bean的创建。

4、适配器模式

SpringMVC中的适配器HandlerAdatper

HandlerAdatper使得Handler的扩展变得容易 ,只需要增加一个新的Handler和一个对应的

HandlerAdapter

因此Spring定义了一个适配接口,使得每一种Controller有一种对应的适配器实现类,让适配器代

替controller执行相应的方法。这样在扩展Controller时,只需要增加一个适配器类就完成了

SpringMVC的扩展了。

5、装饰器模式

Spring中用到的包装器模式在类名上有两种表现:

一种是类名中含有Wrapper ,另一种是类名中含有Decorator

动态地给一个对象添加一些额外的职责。

就增加功能来说,Decorator模式相比生成子类更为灵活。

6、代理模式

Spring中AOP的底层 ,就是动态代理模式的实现。

7、观察者模式

Spring 基于观察者模式 ,实现了自身的事件机制也就是事件驱动模型,事件驱动模型通常也被理

解成观察者或者发布/订阅模型。

8、策略模式

Spring框架的资源访问Resource接口。该接口提供了更强的资源访问能力,Spring 框架本身大量

使用了Resource 接口来访问底层资源。

Rsource 接口是具体资源访问策略的抽象,也是所有资源访问类所实现的接口。

Resource 接口本身没有提供访问任何底层资源的实现逻辑,针对不同的底层资源,Spring 将会提

供不同的Resource 实现类,不同的实现类负责不同的资源访问逻辑。

相关推荐
用户372157426135几秒前
Python 高效实现 Word 转 PDF:告别 Office 依赖
java
渣哥6 分钟前
Java ThreadPoolExecutor 动态调整核心线程数:方法与注意事项
java
Miraitowa_cheems17 分钟前
LeetCode算法日记 - Day 38: 二叉树的锯齿形层序遍历、二叉树最大宽度
java·linux·运维·算法·leetcode·链表·职场和发展
麦当_31 分钟前
TanStack Router File-Based Router Mask 完全指南
前端·javascript·设计模式
稻草猫.37 分钟前
Java多线程(一)
java·后端·java-ee·idea
躲在云朵里`40 分钟前
Spring Scheduler定时任务实战:从零掌握任务调度
java·数据库·mybatis
Java中文社群1 小时前
炸裂:SpringAI新版发布,终于支持断线重连了!
java·后端·ai编程
烛阴1 小时前
【TS 设计模式完全指南】用适配器模式优雅地“兼容”一切
javascript·设计模式·typescript
哈喽姥爷1 小时前
Spring Boot--Bean的扫描和注册
java·spring boot·后端·bean的扫描和注册
problc1 小时前
Spring Boot `@Service` 互相调用全攻略:`@Autowired` vs `@Resource`
java·spring boot·后端