Spring事件机制解析

news/2024/12/1 4:54:27/

一、事件的推送

1、将事件推送到上下文

当我们借助 Spring 发送一个事件对象的时候,一般都通过 ApplicationEventPublisher 完成,在默认情况下,通过容器获得的 ApplicationEventPublisher 单例实际上就是 ApplicationContext 本身。

ApplicationEventPublisher 提供了两个 publishEvent 方法,一个用于发布 ApplicationEvent 事件,另一个用于发布其他事件,在 AbstractApplicationContext 中,它们都通过同一个私有方法实现:

// 推送ApplicationEvent事件
@Override
public void publishEvent(ApplicationEvent event) {publishEvent(event, null);
}
// 推送非ApplicationEvent事件
@Override
public void publishEvent(Object event) {publishEvent(event, null);
}protected void publishEvent(Object event, @Nullable ResolvableType eventType) {Assert.notNull(event, "Event must not be null");// 如果事件对象没继承ApplicationEvent,就包装为PayloadApplicationEventApplicationEven

http://www.ppmy.cn/news/2825.html

相关文章

[附源码]JAVA毕业设计小区物业管理系统(系统+LW)

[附源码]JAVA毕业设计小区物业管理系统(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

java计算机毕业设计家装建材网源程序+mysql+系统+lw文档+远程调试

java计算机毕业设计家装建材网源程序mysql系统lw文档远程调试 java计算机毕业设计家装建材网源程序mysql系统lw文档远程调试本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:La…

MacOS安装PyAudio

brew install portaudio pip install pyaudio docs:https://people.csail.mit.edu/hubert/pyaudio/docs/ pyaudio对象的open()方法: rate:取样频率channels:声道数format:取样值的量化格式 (paFloat32, paInt32, pa…

在线绘制富集分析多组气泡图和单细胞分析marker基因矩阵气泡图

常规的GO或者KEGG通路富集分析结果通常以气泡图的形式展示,然而这个气泡图仅仅是一个比较的结果,如果想在一张图上展示多个比较的结果,就需要用到多组气泡图(图1,左侧)。 单细胞RNA-seq分析结果中&#xf…

系统移植 uboot 1

一、uboot概念 1.1 uboot和bootloader关系 1.bootloader:是一系列引导加载程序的统称 ,uboot是其中之一。 1.2 uboot特点 1.uboot是由德国DNEX小组进行维护的 2.uboot是一个开源分布式系统 3.uboot支持多种硬件架构平台(ARM/X86/POWERPC) 4.uboot短小精悍 5.…

delphi异步与javascript

delphi及C Builder异步处理与javascript 目录 delphi及C Builder异步处理与javascript 1、用于实现异步事件、异步方法、及其异步结果回调的可自定义的通用类型 2、你可引用以下基于接口化对象和异步结果的接口的抽象类,去实现异步方法或异步事件的自定义类 2.…

web前端期末大作业:基于HTML+CSS+JavaScript制作鲜花礼品在线购物网站设计(19页)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

如何下载不同格式的卫星地图

如何下载不同格式的卫星地图 发布时间:2018-01-17 版权: 务名称:下载任务的名称,可重命名 经纬度范围当前下载区域所在的经纬度范围,不可更改 保存路径:下载你选择区域的文件保存的地方,可更…