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

简单工厂:

  • AOP的方法调用:Spring AOP通过责任链模式实现通知(Advice)的调用,确保通知按顺序执行。

责任链模式:

  • Spring几乎所有的外接扩展:Spring框架的许多模块和外部扩展都采用模板方法模式,例如JdbcTemplate、HibernateTemplate等。

模板方法模式:

  • excludeFilters、includeFilters :Spring允许使用策略模式来定义包扫描时的过滤策略,如在**@ComponentScan** 注解中使用的excludeFiltersincludeFilters

策略模式:

  • Spring的事件监听:Spring的事件监听机制是观察者模式的应用,它允许组件监听和响应特定类型的事件,实现了松耦合的组件通信。

观察者模式:

  • AOP底层:Spring的AOP(面向切面编程)底层通过代理模式来实现切面功能,包括JDK动态代理和CGLIB代理。

代理模式:

  • BeanWrapper :Spring的BeanWrapper允许在不修改原始Bean类的情况下添加额外的功能,这是装饰器模式的实际应用。

装饰器模式:

  • SpringMVC中的HandlerAdapter :SpringMVC的HandlerAdapter允许不同类型的处理器适配到处理器接口,以实现统一的处理器调用。这是适配器模式的应用。

适配器模式:

  • Bean实例:Spring默认将Bean配置为单例,确保在容器中只有一个共享的实例,这有助于节省资源和提高性能。

单例模式:

  • FactoryBeanFactoryBean 接口允许用户自定义Bean的创建逻辑,实现了工厂方法模式。开发人员可以使用FactoryBean来创建复杂的Bean实例。

工厂方法:

  • BeanFactory :Spring的BeanFactory充当工厂,负责根据配置信息创建Bean实例。它是一种工厂模式的应用,根据指定的类名或ID创建Bean对象。
相关推荐
BING_Algorithm2 分钟前
JDBC核心教程
java·后端·mysql
京师20万禁军教头3 分钟前
33面向对象(中级)-object类详解
java
一个小浪吴啊3 分钟前
重构 AI 编程流:基于 Hermes 记忆中枢与 OpenCode 执行终端的 Harness 工程化实践
java·人工智能·opencode·harness·hermes
Lyyaoo.9 分钟前
【JAVA网络面经】应用层协议
java·开发语言·网络
無限進步D13 分钟前
Java 面向对象高级 继承
java·开发语言
云烟成雨TD15 分钟前
Spring AI Alibaba 1.x 系列【37】ReactAgent 构建、执行流程分析
java·人工智能·spring
是宇写的啊25 分钟前
MyBaties
java·开发语言·mybatis
钝挫力PROGRAMER28 分钟前
程序中事件机制的实现
java·后端·python·软件工程
程序员威哥31 分钟前
Java调用YOLO模型性能优化实战:CPU/GPU加速与内存优化全指南
java·人工智能·后端
Xpower 1737 分钟前
OpenClaw Token 优化的技术方案与实践:OpenSpace 自进化 Skill 引擎
java·开发语言·人工智能