Spring事件通知机制

 在上图中,调用 getApplicationEventMulticaster()方法,该方法返回的ApplicationEventMulticaster类型的对象applicationEventMulticaster,其实在抽象类AbstractApplicationContext中的addApplicationListener(ApplicationListener<?> listener)中,就已经将继承了ApplicationListener接口的监听器类添加到applicationEventMulticaster对象中(ApplicationEventMulticaster接口有相应的添加ApplicationListener类型监听器的方法addApplicationListener)。

接着调用ApplicationEventMulticaster类型对象的multicastEvent(applicationEvent, eventType),这里注意在getApplicationListeners()得到的是监听了指定事件的监听器。

最后让各个监听该事件的监听器去调用自己的onApplicationEvent(event)方法处理事件。

猜你喜欢

转载自www.cnblogs.com/dxdzy/p/10784058.html