Spring的事件驱动模型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring的事件驱动模型相关的知识,希望对你有一定的参考价值。

参考技术A

所有事件将继承于 ApplicationEvent,并通过继承自EventObject 的成员变量 source 获取到事件源 (注册事件监听器和发布事件的地方) ;Spring中 事件源 一般是容器本身。
如:ApplicationContextEvent(也是一个抽象的事件)--容器事件

具体容器事件有:
ContextStartedEvent,ContextStopedEvent,ContextClosedEvent,ContextRefreshedEvent
PayloadApplicationEvent —Spring 4.2之后框架提供的 ApplicationEvent 的子类由于是泛型类,所以可以用来包装任何事件;在容器内部发送的任意类型的事件都会被包装成为 PayloadApplicationEvent 事件对象;包括前面介绍的四个具体 容器事件类

JDK 要求所有的监听器都要继承这个 EventListener

Spring 中 定义了 ApplicationListener 的两个自接口:SmartApplicationListener,

Bean 可以 通过上面的 ApplicationEventPublisherAware 获取到 ApplicationEventPublisher实例--其实也就是获取到容器这个实例,就可以发布自定义的事件,给容器里面自定义的 EventListener

以上是关于Spring的事件驱动模型的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot整合RabbitMQ之Spring事件驱动模型

Guava ---- EventBus事件驱动模型

事件驱动模型

事件驱动模型初探

跟我学android之四 事件驱动模型

WEB服务-Nginx之1-网络IO模型和常用事件驱动模型