spring 监听器使用分析

在我们日常开发过程中,经常会用到spring的监听器,今天我们就来分析一下,他的执行流程。
我么一般的使用方式是


使用.png

这个监听器,监听的是ContextReFreshedEvent的事件,所以当事件发生时,就会被这个监听器监听,从而执行方法中的逻辑。
总的步骤分为两个部分,第一步是监听器的注册,第二步是监听器的运行。
下面我们介绍第一部分-监听器的注册。
当spring容器启动时

2.png
3.png

在这个preInstantiateSingletons方法中,有下面一段逻辑,找寻SmartInitializingSingleton 这个类的实例,执行他的afterSingletonsInstantiated方法

就把 这个类扫出来了-EventListenerMethodProcessor


4.png

这个类的afterSingletonsInstantiated方法如下


5.png
6.png
7.png
8.png

到目前为止已经声明了一个ApplicationLister并且注册好了,下面要开始我的第二部分---使用了


9.png

发出了一个RefreshedEvent的事件


10.png

开始广播事件


11.png

调用监听器方法


12.png
13.png
14.png

真正的处理方法


15.png

这就是spring监听器的使用的流程了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容