spring容器监听

 上图的执行流程是怎样的?

org.springframework.context.support.AbstractApplicationContext#finishRefresh

发布一个容器刷新事件

 

org.springframework.context.event.SimpleApplicationEventMulticaster#multicastEvent(org.springframework.context.ApplicationEvent, org.springframework.core.ResolvableType)

org.springframework.context.event.SimpleApplicationEventMulticaster#invokeListener

进行回调

注意一个问题:

org.springframework.context.support.AbstractApplicationContext#getApplicationEventMulticaster

这个广播器从哪里来?

 

 org.springframework.context.support.AbstractApplicationContext#initApplicationEventMulticaster

 如果容器中没有就会注册一个SimpleApplicationEventMulticaster供后续使用

 
 

spring的默认事件:有6个,我们常用的就4个,如果我监听容器关闭事件,当容器刷新的时候能执行方法吗?

答案:不能

这里会根据事件拿到所有的监听器

 

猜你喜欢

转载自blog.csdn.net/u012222011/article/details/129984987