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的事件驱动模型的主要内容,如果未能解决你的问题,请参考以下文章