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

什么是责任链模式?

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

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

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

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

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

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

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

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

相关推荐
忧郁的Mr.Li11 小时前
SpringBoot中实现多数据源配置
java·spring boot·后端
yq19820430115611 小时前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
一个public的class11 小时前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript
有位神秘人11 小时前
kotlin与Java中的单例模式总结
java·单例模式·kotlin
golang学习记11 小时前
IntelliJ IDEA 2025.3 重磅发布:K2 模式全面接管 Kotlin —— 告别 K1,性能飙升 40%!
java·kotlin·intellij-idea
爬山算法11 小时前
Hibernate(89)如何在压力测试中使用Hibernate?
java·压力测试·hibernate
暮色妖娆丶11 小时前
SpringBoot 启动流程源码分析 ~ 它其实不复杂
spring boot·后端·spring
消失的旧时光-194311 小时前
第十四课:Redis 在后端到底扮演什么角色?——缓存模型全景图
java·redis·缓存
BD_Marathon11 小时前
设计模式——依赖倒转原则
java·开发语言·设计模式
BD_Marathon11 小时前
设计模式——里氏替换原则
java·设计模式·里氏替换原则