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

Spring中用到的设计模式有哪些

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

单例模式,Spring依赖注入Bean实例默认是单例的。Spring依赖注入(包括lazy-init方式)都是发生在AbstractBeanFactory的getBean里。getBean的doGetBean方法调用getSingleton进行bean的创建。

策略模式,Spring框架的资源访问Resource接口,该接口提供了更强的资源访问能力,Spring框架使用了Resource接口来访问底层资源。

适配器模式,Spring AOP的实现基于代理模式,但是Spring AOP的增强或通知(Advice)使用到了适配器模式,例如AdvisorAdapter、MethodBeforeAdviceAdapter。

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

观察者模式,Spring的事件驱动模型使用的是观察者模式 ,Spring中Observer模式常用的地方是listener的实现。如:ApplicationContextEvent、ApplicationListener。

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

模板方法模式,用来解决代码重复的问题,比如:RestTemplate、JmsTemplate、JpaTemplate。

建造者模式,解析xml文件用到的设计模式。

原型模式,在创建ioc容器后,通过getBean()获取bean对象时,在核心方法处spring对bean的scope属性进行了判断,配置了prototype。

外观模式,Tomcat中&

http://www.lryc.cn/news/348293.html

相关文章:

  • CSS 样式清单整理:文字超出部分显示省略号和设置placeholder的字体样式
  • Docker容器:Docker-Consul 的容器服务更新与发现
  • 容器化Jenkins远程发布java应用(方式二:自定义镜像仓库远程拉取构建)
  • 解密某游戏的数据加密
  • 【报错合集】完美解决“虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本”
  • YOLOv8小白中的小白安装环境教程!没一个字废话,看一遍不踩坑!
  • C#正则表达式,提取信息使用
  • 【数据结构】详解队列
  • 大模型微调方法汇总
  • 探究NVMe SSD HMB应用场景与影响-<续>
  • YTU 3166 共享单车 DFS 记忆化搜索
  • RAG应用中的路由模式
  • 运维:SSH常用命令简介
  • Springboot+Vue项目-基于Java+MySQL的流浪动物管理系统(附源码+演示视频+LW)
  • 力扣刷题:四数相加Ⅱ
  • 如果通过Glide 设置图片圆角
  • Chatgpt学习技巧
  • [初学rust] 06_rust 元组
  • 基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (四)
  • C++进阶:哈希(1)
  • 第三节课,功能2:开发后端用户的管理接口-- postman--debug测试
  • Docker-compsoe部署prysm-beacon-chain + geth服务(geth版本v1.14.0)
  • 前端人员如何理解进程和线程
  • Linux下网络命令
  • Php swoole和mqtt
  • Spring STOMP-连接到消息代理
  • Excel中的`MMULT`函数
  • 孩子多大可以接触python?学习python的好处
  • 四川汇昌联信:拼多多网点怎么开?大概需要多少钱?
  • ROS 2边学边练(43)-- 利用GTest写一个基本测试(C++)