SpringEvent 事件发布/监听机制

解释

Spring的事件监听(也叫事件驱动)是观察者模式的一种实现,只要是观察者模式,就含有主题(针对该主题的事件),发布者(发布主题或事件),订阅者(监听主题的人)。有三个部分组成,事件(ApplicationEvent)、监听器(ApplicationListener)和事件发布操作。

作用
使用事件机制我们可以将相互耦合的代码解耦,从而方便功能拓展和调整。
使用

这里拿实际情况来举个例子:

在功能较多的系统中,都会有操作日志存在,我们就可以使用aop基于注解的环绕通知来进行注解日志处理,这样每次的操作都会存有记录。

但是,也会拖慢系统的响应速度,这时,我们就可以使用SpringEvent来进行监听异步处理。

具体来说是在around中publishEvent推送事件并传递数据,@EventListener来监听自定义的event进行日志处理