1.什么是 applicationEvent

看源码:
在这里插入图片描述
类的注释是,被应用事件继承的类,抽象的不能初始化;

父类 EventObject
在这里插入图片描述
类的注释第二行:所有的事件被构造时有一个对 Object 的引用;

2.有什么用

事件携带一个 Object 对象,可以被发布;
事件监听者,监听到这个事件后,触发自定义逻辑 ( 操作 Object 对象);

3.怎么用

以 SpringBoot 为例:

  • 定义事件,继承 ApplicationEvent 抽象类:
    在这里插入图片描述

  • 定义事件监听器,实现 ApplicationListener 接口,接口泛型是 MyApplicationEvent
    在这里插入图片描述

  • 在启动类上发布事件,事件携带的 Object 是一个 int 数组:
    在这里插入图片描述

  • 运行结果:
    在这里插入图片描述

4.注意

发布事件的时候,不仅会被 MyEventListener 监听,其他只要监听了 MyApplicationEvent 的监听器 都会收到事件

  • 新增 MyEventListener2:
    在这里插入图片描述
  • 运行结果:
    在这里插入图片描述
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐