当前位置: 首页 > article >正文

37、Spring框架中都用到了哪些设计模式

Spring框架中都用到了哪些设计模式

简单工厂

由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。

  • Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。

工厂方法

  • 实现了FactoryBean接口的bean是一类叫做factory的bean,其特点是,spring会在使用getBean()调用获得该bean时,会自动调用该bean的getObject()方法,所以返回的不是factory这个bean,而是这个bean.getObject()方法的返回值。

单例模式:

保证一个类仅有一个实例,并提供一个访问它的全局访问点

  • spring对单例的实现: spring中的单例模式完成了后半旬话,即提供了全局的访问点BeanFactory,但没有从构造器级别去控制单例,这是因为spring管理的是任意的java对象。

适配器模式

Spring定义了一个适配接口,使得每一种Controller有一种对应的适配器实现类,让适配器代替Controller执行相应的方法。这样在扩展Controller时,只需要增加一个适配器类就完成了springMVC的扩展了。

装饰器模式

动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。

  • Spring中用到的装饰器模式在类名上有两种表现:一种是类名中含有wrapper,另一种是类名中含有Decorator.

动态代理

  • 切面在应用运行的时刻被织入,一般情况下,在织入切面时,AOP容器会为目标对象创建动态的创建一个代理对象。
    springAOP就是以这种方式织入切面的。
  • 织入:把切面应用到目标对象并创建新的代理对象的过程。

观察者模式

  • spring的事件驱动模型他用的是 观察者模式 ,Spring中observer模式常用的地方是listener的实现。

策略模式:

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

http://www.kler.cn/a/37779.html

相关文章:

  • Matplotlib---3D图
  • Docker安装Rabbitmq超详细教程
  • AI 对抗超级细菌:麦克马斯特大学利用深度学习发现新型抗生素 abaucin
  • 复习第七课 C语言-指针数组,函数,string
  • Kubernetes 集群管理和编排
  • Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】
  • ELK之logstash四大组件
  • 第二周周报
  • Redis+IDEA极速了解和实现单机锁和分布式锁
  • 机器学习与深度学习——自定义函数进行线性回归模型
  • Android Glide预加载preload ,kotlin
  • 低代码在边缘计算工业软件中的应用
  • windows下mingw 编译boost-1.78.0
  • 【Python】类型注解 ③ ( 使用 # type: 类型 注释方式设置类型注解 | 类型注解是提示性而非强制性 )
  • 激斗云计算:互联网大厂打响新一轮排位战
  • mysql,对表的简单操作
  • Python模块—PyMySQL模块
  • Vue和React的区别?
  • Java设计模式之行为型-责任链模式(UML类图+案例分析)
  • 可靠的手机问题修复工具分享 - 修复各种 Android 系统问题