Spring事件驱动模型——publish如何将多个Event和多个Listener进行无误差匹配

  Spring常用配置之Application Event(事件)中通自定义简单的Event和Listener阐述了Spring中publish的运行机制。实际上很多框架都利用到了Spring的这个特性,那么对于Spring而言其是如何做到Event与Listener匹配无误的呢?下面通过源码跟踪分析:

          

   通过上图,可以知道只要监听器泛型的实际类型与事件或其父类类型一致,即可以确定事件与监听器是匹配的。在Spring常用配置之Application Event(事件)文中尾部的invokeListener(listener,event)就是处理该过程。

  从事件发布到执行的整个过程如下:

                

 

posted on 2021-12-09 11:45  池塘里洗澡的鸭子  阅读(434)  评论(0编辑  收藏  举报