资讯专栏INFORMATION COLUMN

springboot 事件监听

codercao / 1700人阅读

摘要:定义事件定义事件监听注解方式注意注解发布事件测试事件监听测试时执行顺序循环打印测试事件监听循环异步监听监听加上注解测试时执行顺序循环循环打印测试事件监听代码

定义事件
@Getter
public class TestEvent extends ApplicationEvent {
   private String msg;

   public TestEvent(Object source, String msg) {
       super(source);
       this.msg = msg;
   }
}
定义事件监听(注解方式)
 @Component
 public class TestListen {
   @EventListener
   public void testListen(TestEvent event) {
       System.out.println(event.getMsg());
   }
}

注意:@Component 注解

发布事件
@Autowired
private ApplicationContext publiser;

@GetMapping("test-listen")
public void testListen() {
    for (int i = 0; i < 10; i++) {
        System.out.println("i = " + i);
    }
    publiser.publishEvent(new TestEvent(this, "测试事件监听"));
    for (int j = 0; j < 10; j++) {
       System.out.println("j = " + j);
   }
}

测试时执行顺序:

i循环

打印"event = [测试事件监听]"

j循环

异步监听

监听加上@Async注解

@Component
public class TestListen {
   @EventListener
   @Async
   public void testListen(TestEvent event) {
       for (int i = 0; i < 10; i++) {
           System.out.println("event = [" + event.getMsg() + "]");
       }
   }
}

测试时执行顺序:

i循环

j循环

打印"event = [测试事件监听]"

代码: async

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77550.html

相关文章

  • 第二十七章:SpringBoot使用ApplicationEvent&Listener完成业

    摘要:实体代码如下所示恒宇少年码云用户名密码创建内添加一个注册方法,该方法只是实现注册事件发布功能,代码如下所示恒宇少年码云用户注册方法省略其他逻辑发布事件事件发布是由对象管控的,我们发布事件前需要注入对象调用方法完成事件发布。 ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之...

    Reducto 评论0 收藏0
  • springBoot的工作机制--springBoot揭秘

    摘要:文章目录的核心注解的执行流程的扩展点的核心注解内含个子注解该注解用于中,被该注解标注的表示,该类是个配置类。通知完毕调用的。 文章目录1、@SpringBootApplication -- SpringBoot的核心注解2、SpringApplication的执行流程3、SpringApplication的扩展点 1、@SpringBootApplication -- SpringBo...

    hover_lew 评论0 收藏0
  • Activiti6通过监听修改实体id、springboot集成配置

    摘要:当一个根级的结束时,就会进行上述的缓存对象统一的持久化。解决的办法也很简单,改为监听,判断是否时需要修改的任务实体即可。这样后面要进行驳回时,只要通过这样关系表,马上就可以定位到要驳回到的任务了。 1.前言 本文内容主要为以下两点,因为内容有交叉,所以会放在一起介绍。 1.以自由跳转为基础实现不改变原先任务id的驳回关于Activiti6动态跳转可以查看我的另一篇文章Activiti...

    Taste 评论0 收藏0
  • springboot源码分析系列(二)--SpringApplication.run()启动流程

    摘要:众所周知,类上面带有注解的类,即为的启动类。一个项目只能有一个启动类。根据是否是环境创建默认的,通过扫描所有注解类来加载和最后通过实例化上下文对象,并返回。   众所周知,类上面带有@SpringBootApplication注解的类,即为springboot的启动类。一个springboot项目只能有一个启动类。我们来分析一下SpringBoot项目的启动过程,首先看看启动类里面都包...

    adie 评论0 收藏0
  • SpringBoot 仿抖音短视频小程序开发(三)

    摘要:仿抖音短视频小程序开发一项目的简介仿抖音短视频小程序开发二项目功能分析与具体实现源代码仿抖音短视频小程序开发全栈式实战项目短视频后台管理系统小程序的后台管理系统涉及的技术栈框架一用户列表的获取与分页前端代码用户列表展示的表格底部 SpringBoot 仿抖音短视频小程序开发(一):项目的简介(https://segmentfault.com/a/11...SpringBoot 仿抖音短...

    songze 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<