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

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

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

相关文章:

  • matlab 13折线法数据量化编码与解码
  • Yolov8小目标检测-添加模块改进-实验记录
  • 2023国家网络安全宣传周|邮件安全意识培训-钓鱼篇
  • 【Leetcode】140.单词拆分II(Hard)
  • 【数据结构-堆】堆
  • Ansible 自动化运维工具部署主从数据库+读写分离
  • 蓝桥杯官网填空题(星期几)
  • 《向量数据库指南》——向量数据库会是 AI 的“iPhone 时刻”吗?
  • 案例实践丨基于SkyWalking全链路监控的微服务系统性能调优实践篇
  • C++信息学奥赛1170:计算2的N次方
  • windos本地文件上传到ubuntu
  • 做软件测试,掌握哪些技术才能算作“测试大佬”?
  • 【算法与数据结构】530、LeetCode二叉搜索树的最小绝对差
  • input输入事件
  • 接入 NVIDIA A100、吞吐量提高 10 倍!Milvus GPU 版本使用指南
  • php://filter协议在任意文件读取漏洞(附例题)
  • 【Redis】1、NoSQL之Redis的配置及优化
  • 9.5QTday6作业
  • Redis I/O多路复用机制
  • Matlab 2016安装MinGW-w64-4.9.2
  • Tomcat配置ssl、jar包
  • Unity中Shader实现UI去色功能的实现思路
  • Python垃圾回收机制详解:引用计数与循环垃圾收集器
  • 自然语言处理应用(三):微调BERT
  • MySQL基础【学习至基本语句】
  • Leetcode152. 连续子数组的最大乘积
  • 01_kafka_环境搭建安装_topic管理
  • Python+Requests+Excel接口测试实战
  • 10:STM32------I2C通信
  • Git多人开发解决冲突案例