2.Spring中用到的设计模式

Spring框架中使用了多种设计模式来构建其强大且灵活的功能,这里举例说明Spring中的一些功能使用到的设计模式。

  1. 工厂模式:Spring容器本质是一个大工厂,使用工厂模式通过BeanFactory和ApplicationContext这两个核心接口来创建和管理bean对象。

  2. 代理模式 :Spring AOP(面向切面编程) 功能就是通过代理模式来实现的,分为动态代理和
    静态代理。

  3. 单例模式 :在Spring中,Bean的默认作用域就是单例(singleton)。

  4. 模板模式 :Spring框架中提供了许多以Template结尾的模板类,比如JdbcTemplate(简化JDBC操作的模板类)、RedisTemplate(简化Redis的数据访问操作的模板类)等就使用到了模板模式。

  5. 观察者模式 :Spring的事件机制就应用了观察者模式,一个事件可以有多个监听器(观察者)。当某个事件(被观察者)被触发时,所有订阅了该事件的监听器(观察者)都会收到通知。

  6. 适配器模式:Spring MVC中的一个关键组件HandlerAdapter,就应用了适配器模式,将不同类型的处理器(Controller、HttpRequestHandler或Servlet等)适配到统一的请求处理流程中,使得Spring MVC可以通过一个统一的接口来处理来自不同处理器的请求。

  7. 策略模式 :Spring中的Resource接口就使用到了策略模式,它的不同实现类会根据不同的策略去访问资源。


相关推荐
小瓦码J码4 分钟前
轻量化线程池实战:忙时并发、闲时归零,搞定周期批量任务
java·后端
NagatoYukee4 分钟前
Java 商品交易实验(第二版)
java·开发语言
百珏9 分钟前
[灰度发布]:灰度流量如何匹配与识别:从特征补全到网关命中引擎
java·后端·架构
接着奏乐接着舞12 分钟前
springboot mybatis
spring·tomcat·mybatis
Misnearch13 分钟前
1345. 跳跃游戏 IV
java·leetcode·bfs
Bechamz15 分钟前
大数据开发学习Day34
java·大数据·学习
JoneBB16 分钟前
ABAP上传EXCEL模板并将内表内容存到两个sheet中
java·前端·数据库
手揽回忆怎么睡17 分钟前
分卷打包命令
java
openinstall全渠道统计18 分钟前
电商App推广统计方案有哪些?从广告到下单追踪解析
java·eclipse·教育电商
夕除21 分钟前
spring boot 8
java·开发语言