每日一题-spring中的设计模式

1、 spring中的设计模式

工厂模式 (Factory Pattern):Spring使用工厂模式来创建和管理对象。通过ApplicationContex t,Spring可以作为一个工厂,负责创建、初始化和返回应用程序所需的对象
单例模式 (Singleton Pattern):Spring默认创建的bean都是单例的,即在整个Spring IoC容器中,一个bean只会有一个实例。这有助于减少内存占用和简化对象之间的依赖关系
代理模式 (Proxy Pattern):Spring的AOP(面向切面编程)功能使用了代理模式。当一个对象需要被增强时,Spring会创建一个代理对象来包装原对象,并在调用原对象的方法时,插入额外的逻辑(如事务管理、安全检查等)
模板方法模式 (Template Method Pattern):Spring的JdbcTemplate、RedisTemplate等模板类都体现了模板方法模式。这些模板类提供了固定的方法逻辑,但允许用户自定义部分逻辑(如SQL语句或Redis命令)。
观察者模式 (Observer Pattern):Spring的事件处理机制使用了观察者模式 。当一个事件发生时,所有注册为该事件监听器的对象都会收到通知并可以执行相应的操作。
策略模式 (Strategy Pattern):Spring的ResourceLoader接口及其实现类(如ClassPathResource、FileSystemResource等)体现了策略模式。不同的资源加载策略可以通过不同的实现类来实现,并在运行时根据需要进行选择。
装饰器模式 (Decorator Pattern):虽然Spring本身没有直接使用装饰器模式,但装饰器模式的思想在Spring中有所体现。例如,Spring允许我们通过配置来动态地为bean添加额外的行为或属性,类似于装饰器模式中的动态增加功能。
适配器模式 (Adapter Pattern):在Spring中,适配器模式通常用于将不兼容的接口转换为兼容的接口。例如,Spring的HandlerAdapter接口用于将不同的请求处理方法适配为统一的调用方式。

待补充完善。

相关推荐
安之若素^7 分钟前
启用不安全的HTTP方法
java·开发语言
魔芋红茶12 分钟前
spring-initializer
python·学习·spring
ruanjiananquan9913 分钟前
c,c++语言的栈内存、堆内存及任意读写内存
java·c语言·c++
chuanauc40 分钟前
Kubernets K8s 学习
java·学习·kubernetes
一头生产的驴1 小时前
java整合itext pdf实现自定义PDF文件格式导出
java·spring boot·pdf·itextpdf
YuTaoShao1 小时前
【LeetCode 热题 100】73. 矩阵置零——(解法二)空间复杂度 O(1)
java·算法·leetcode·矩阵
zzywxc7871 小时前
AI 正在深度重构软件开发的底层逻辑和全生命周期,从技术演进、流程重构和未来趋势三个维度进行系统性分析
java·大数据·开发语言·人工智能·spring
YuTaoShao3 小时前
【LeetCode 热题 100】56. 合并区间——排序+遍历
java·算法·leetcode·职场和发展
程序员张33 小时前
SpringBoot计时一次请求耗时
java·spring boot·后端
llwszx6 小时前
深入理解Java锁原理(一):偏向锁的设计原理与性能优化
java·spring··偏向锁