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 实现类,不同的实现类负责不同的资源访问逻辑。

相关推荐
ch.ju1 分钟前
Java程序设计(第3版)第四章——引用
java·开发语言
.Cnn2 分钟前
MySQL事务和Spring事务
数据库·后端·mysql·spring
霸道流氓气质2 分钟前
在Qoder中指定JDK和Maven运行AI学习的SpringBoot项目的完整指南
java·人工智能·maven
老码观察4 分钟前
设计模式实战解读(七):适配器模式——让不兼容的接口无缝协作
java·设计模式·适配器模式
garmin Chen4 分钟前
rabbitmq(1):核心机制与 SpringAMQP 详解
java·rabbitmq·java-rabbitmq
Mr_sst8 分钟前
AI 大模型应用开发实习|如何找岗 + 面试真题 + 面经总结
java·人工智能·ai·面试·职场和发展
weelinking12 分钟前
【产品】10_搭建前端框架——把你的原型变成真实页面
java·大数据·前端·数据库·人工智能·python·前端框架
一 乐14 分钟前
图书电子商务网站系统|基于SprinBoot+vue图书电子商务网站设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·图书电子商务网站系统
西敏寺的乐章15 分钟前
01-倒排索引原理-搜索引擎为什么能秒搜
java·elasticsearch·搜索引擎
yaoxin52112316 分钟前
421. Java 日期时间 API - 包结构 & 方法命名规范
java·前端·python