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

相关推荐
DKPT43 分钟前
Java设计模式之开闭原则介绍与说明
java·设计模式·开闭原则
Arva .1 小时前
Spring基于XML的自动装配
xml·java·spring
fatfishccc3 小时前
循序渐进学 Spring (上):从 IoC/DI 核心原理到 XML 配置实战
xml·java·数据库·spring·intellij-idea·ioc·di
回家路上绕了弯6 小时前
Spring AOP 详解与实战:从入门到精通
java·spring
Laplaces Demon10 小时前
Spring 源码学习(十)—— DispatcherServlet
java·后端·学习·spring
写bug写bug11 小时前
彻底搞懂Spring Boot的系统监控机制
java·后端·spring
小小深14 小时前
Spring进阶(八股篇)
java·spring boot·spring
都叫我大帅哥15 小时前
Spring Modulith 完整实战指南:从零构建模块化订单系统
java·spring boot·spring
都叫我大帅哥15 小时前
当模块化遇上Spring:Spring Modulith的奇幻漂流
java·spring boot·spring
MuYiLuck16 小时前
【Spring Ai框架】
java·人工智能·spring