SpringBoot 发布ApplicationEventPublisher和监听ApplicationEvent事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 发布ApplicationEventPublisher和监听ApplicationEvent事件相关的知识,希望对你有一定的参考价值。

参考技术A 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

Vue项目发布到springboot中的系列配置

参考技术A 假设springboot的context-path为/ ,即根路径,那么我需要为静态资源分配一个路由,这里以pages为例,前端vue.config.js配置如下:

上述方案每次必须访问pages的路由才可以访问到,那么我们是否可以重定向到这里呢,是可以的。

以上是关于SpringBoot 发布ApplicationEventPublisher和监听ApplicationEvent事件的主要内容,如果未能解决你的问题,请参考以下文章

springboot打包发布到windows环境上中文乱码

Vue项目发布到springboot中的系列配置

解决SpringBoot多模块发布时99%的问题?SpringBoot发布的8个原则和4个问题的解决

SpringBoot项目打包war发布到Jetty9

springboot热部署——springboot热部署与发布

SpringBoot 发布 WebService