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