SpringBoot 发布ApplicationEventPublisher和监听ApplicationEvent事件

如题所述

第1个回答  2022-06-26
SpringBoot 异步事件实现异步(ApplicationEventPublisher、ApplicationEvent)
​ 当把一个事件发布到Spring提供的ApplicationContext中,被监听器侦测到,就会执行对应的处理方法。

实现方法
自定义需要发布的事件类,需要继承ApplicationEvent类或PayloadApplicationEvent<T>(该类也仅仅是对ApplicationEvent的一层封装)
使用@EventListener来监听事件
使用ApplicationEventPublisher来发布自定义事件(@Autowired注入即可)

可以使核心业务与子业务进行解耦,也方便后期的业务的扩展。如新用户注册之后,需要发放优惠券,此时可以在保存用户之后,发布一个新用户的 注册成功事件 ,通过监听该事件来实现发放优惠券的功能。后期新增一个对新用户进行xxx功能,此时可以新写一个监听 注册成功事件 的监听器,来处理新的业务逻辑,而不需要修改之前的注册逻辑。

参考: https://blog.csdn.net/wanping321/article/details/86667216

1、创建事件,继承ApplicationEvent

2、发布订单取消事件(定时任务查询未付款的超时订单,进行关闭)

3、监听事件

4 、BaseApplicationContextUtil 工具类

demo参考: https://blog.csdn.net/qq_28060549/article/details/81073001
相似回答
大家正在搜