点击上方 "程序员小乐"关注, 星标或置顶一起成长
每天凌晨00点00分, 第一时间与你相约
每日英文
You usually find what you are looking for the moment you stop looking for it.
众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
每日掏心话
人生的旅途,痛才是经历,累才是工作,变才是命运,忍才是历练,容才是智慧,静才是修养,舍才会得到。
来自:blog.csdn.net/weixin_33835690/article/details/88028218
责编:乐乐
程序员小乐(ID:study_tech)第 761 次推文 图片来自 Pexels
往日回顾:一遍记住Java常用的八种排序算法与代码实现
正文
service接口:
首先每个处理器都必须添加到spring容器中,因此需要加上@Component注解,其次需要加上一个自定义注解@HandlerType,用于标识该处理器对应哪个订单类型,最后就是继承AbstractHandler,实现自己的业务逻辑。
自定义注解 @HandlerType:
抽象处理器 AbstractHandler:
自定义注解和抽象处理器都很简单,那么如何将处理器注册到spring容器中呢?
具体思路是:
1、扫描指定包中标有@HandlerType的类;
2、将注解中的类型值作为key,对应的类作为value,保存在Map中;
3、以上面的map作为构造函数参数,初始化HandlerContext,将其注册到spring容器中;
我们将核心的功能封装在HandlerProcessor类中,完成上面的功能。
HandlerProcessor:
HandlerContext:
欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。
欢迎各位读者加入程序员小乐技术群,在公众号后台回复“加群”或者“学习”即可。
猜你还想看
阿里、腾讯、百度、华为、京东最新面试题汇集
Springboot 优雅停止服务的几种方法
突发!NBA球星科比不幸遇难,他曾投资阿里等28家公司,凌晨3点还在洽谈商务
Python2 已终结,入手Python 3,你需要这30个技巧
文章有问题?点此查看未经处理的缓存