Java常见技术分享-11-责任链模式

什么是责任链模式?

责任链模式的应用场景 是 当一个请求需要经过 多个对象依次处理 或者 不确定 哪个对象 能处理该请求的时候。 他主要有两个核心的组件。

一个是抽象的处理者, 它定义了处理请求的接口, 并且持有下一个处理者的引用。 一个是具体的处理者, 他实现了处理请求的接口, 可以自己判断要不要把请求继续给下一个处理者处理。

责任链模式在SpringBoot中有什么实际的应用吗?

SpringBoot里的HandlerInterceptor接口 就相当于抽象处理者,

他定义了处理请求的 preHandle和postHandle 方法。 分别是请求真正到达controller之前, 和之后执行的。

而具体的处理者, 则是像我们自己写的登录拦截器和日志拦截器等。

比如登录拦截器, 如果识别到客户还没登录, 就直接return false,就不给下一个拦截器处理了。

这种处理模式, 特别适合 一堆校验规则, 如果转换成 责任链模式 那么就会很简洁。 每一个单独的校验都是独立的"责任",把责任传递下去。

相关推荐
2601_962055976 小时前
跟据spring boot版本,查看对应的tomcat,并查看可支持的tomcat的版本范围
spring boot·后端·tomcat
EXI-小洲6 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
2601_961901708 小时前
SpringBoot使用Nacos进行application.yml配置管理
java·spring boot·spring
何以解忧,唯有..8 小时前
LangChain 工具调用(Tool Calling)实战指南
java·前端·langchain
QQ_21696290969 小时前
【源码编号:project79475】SpringBoot校内二手交易平台:商品发布、分类检索、留言交流、订单管理全流程实战
java·spring boot·后端
前端 贾公子10 小时前
第09章:上下文与记忆 (2)
java·服务器·前端
2601_9622035110 小时前
Java进阶07集合(续)
java·开发语言
郑州光合科技余经理10 小时前
本地生活服务系统:模块边界与结算字段怎么拆
java·开发语言·前端·后端·系统架构·uni-app·php
roman_日积跬步-终至千里11 小时前
【数据治理(6)】DataOps 不是调度工具,而是让数据产品长期可信的运行机制
java·服务器·网络
落魄大学生之流水线上谋生计11 小时前
LangGraph 基本用法指南
java·windows·python·langchain