所有分类
  • 所有分类
  • 未分类

责任链模式Java实战-写法2:注入抽象类

简介

说明

本文用示例介绍责任链模式的写法:注入抽象类。这是SpringBoot项目中最推荐的责任链写法。

优缺点

优点

  1. 链上的处理类会自动注册,无需手动注册。
  2. 可以方便地指定链上的处理类的执行顺序。
  3. 可以获得当前处理链的信息。

缺点

实战

本处使用一个贴近真实场景的案例:订单取消时,要依次执行如下操作:退回商品的库存数量、退回用户的金额。

在这个场景中,取消订单就是调用者,账户业务和库存业务是责任链的被调用者。

项目结构:

可以看到,上边有个chain包,里边有个impl包,它就是链上的各个处理者,调用取消订单接口时就会按顺序调用链里的一系列处理逻辑。

代码

此内容仅限VIP查看,请先

测试

访问接口

启动项目后,访问Knife4j(接口文档)的地址:http://localhost:8080/doc.html

(当然,你用postman也完全可以)

结果

库存业务开始处理订单取消。接收到的消息:CancelOrderBO(orderNo=2255)
账户业务开始处理订单取消。接收到的消息:CancelOrderBO(orderNo=2255)
1

评论2

请先

  1. 这咋感觉和策略抽象类类似?
    李镇宇zixue已购买 2024-07-19 0
    • 是的,很类似。都是用一个抽象集合去调用。
      自学精灵 2024-07-19 1
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录