09. Spring Framework Event
2022-03-16 20:17:11 0 举报
AI智能生成
登录查看完整内容
Spring 事件机制
作者其他创作
大纲/内容
从容器中获取所有的【EventListenerFactory】并排序保存到【eventListenerFactories】列表中
postProcessBeanFactory因为实现了【BeanFactoryPostProcessor】接口,所以会回调这个方法
找到这个组件所有被 @EventListener 注解标注的方法
factory.createApplicationListener()循环每一个方法,利用工厂创建适配器监听器
把适配器添加注册到容器和事件派发器事件派发器实现了监听器接口最终事件在派发时,首先发给适配器,由适配器找到对应的目标方法通过发射执行
afterSingletonsInstantiated()因为实现了【SmartInitializingSingleton】接口,所以会在初始完所有 bean 之后回调这个方法
EventListenerMethodProcessor处理 @EventListener 注解
如果事件属于 ApplicationEvent,就强转不属于就包装成 PayloadApplicationEvent
getApplicationEventMulticaster()从容器中获取事件派发器
multicastEvent()筛选对此事件类型感兴趣的监听器,再对这些监听器调用 onApplicationEvent() 方法
ApplicationEventPublisher事件发布
doInvoke(args)利用反射调用事件
processEvent(event)处理事件
onApplicationEvent()因为实现了【ApplicationListener】接口,所以会接收到事件通知
ApplicationListenerMethodAdapter事件监听
Spring 事件机制
0 条评论
回复 删除
下一页