spring 监听器使用分析
2017-01-31 本文已影响450人
数齐
在我们日常开发过程中,经常会用到spring的监听器,今天我们就来分析一下,他的执行流程。
我么一般的使用方式是

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


在这个preInstantiateSingletons方法中,有下面一段逻辑,找寻SmartInitializingSingleton 这个类的实例,执行他的afterSingletonsInstantiated方法
就把 这个类扫出来了-EventListenerMethodProcessor

这个类的afterSingletonsInstantiated方法如下




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

发出了一个RefreshedEvent的事件

开始广播事件

调用监听器方法



真正的处理方法

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