是实际业务开发过程中写的,业务逻辑可能很复杂,核心业务+N个子业务。如果全部放在一起,代码可能会很长,耦合度会不断上升,维护起来会很麻烦,甚至很头疼。还有一些业务场景不需要在一个请求中同步完成,比如发送邮件、短信等。MQ确实可以解决这个问题,但是MQ比较重,没必要增加架构的复杂度。针对这些问题,我们来看看SpringEvent。SpringEvent的同步使用SpringEvent(ApplicationEvent)其实是一种观察者设计模式。一个Bean想在完成任务后通知其他Bean,或者一个Bean想观察和倾听另一个Bean的行为。推荐一个SpringBoot基础实战教程:https://github.com/javastacks...1.通过自定义事件定义事件,继承ApplicationEvent的类成为事件类2.定义监听器监听处理事件,并实现ApplicationListener接口或者使用@EventListener注解3.定义发布事件的发布者,通过ApplicationEventPublisher发布事件4.单测执行结果如下:SpringEvent异步使用部分业务场景不需要在一个请求中同步完成,比如发送邮件,发送短信等。1.自定义事件2.定义监听器。推荐使用@EventListener注解3.定义发布者4.单测执行(同步)执行结果如下:5.启用异步启动类,添加@EnableAsync注解。监听类需要开启异步方法添加@Async注解6.单测试执行(异步)线程发送短信显示task-1,主线程结束后(总耗时:(2017)毫秒)控制台停止打印来源:blog.csdn.net/csp732171109/article/details/124377254近期热点文章推荐:1.1000+Java面试题及答案(2022最新版)2.精彩!Java协程来了。..3.SpringBoot2.x教程,太全面了!4.不要用爆破爆满画面,试试装饰者模式,这才是优雅的方式!!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!
