Spring boot事件监听实现过程解析

作者:BalaBala 时间:2022-08-29 13:46:02 

事件监听其实我们并不陌生,简单来讲,当程序达到了某个特定的条件,程序就会自动执行一段指令。在spring 中也一样,我们可以使用spring中的事件监听来实现某些特定的需求。

发布事件

既然要监听事件,首先要发布我们的事件嘛。在spring中发布事件我们可以通过继承ApplicationEvent 来发布我们的事件类。


@Data
public class SendEvent extends ApplicationEvent {

public SendEvent(Object source) {
   super(source);
 }
}

我们得调用父类的构造方发super(source)

事件监听

在学习JavaWeb项目中有写过servlet * ,但是那个 * 之会监听方法而不会监听到值的变化,要想监听到程序内部某个值的变化还得写事件监听类。


@Component
public class SendEventListener {

@EventListener
 public void start(String lins){
   System.out.println(lins);
 }
}

在这里我们使用@EventListener来监听我们的事件。

事件触发

说了这么多,最终要的还没说,事件要怎么触发。

我们可以通过application.publishEvent()这个方法来触发我们的事件,这里需要强调一下这个方法参数中的对象是会与监听中的对象匹配的。因此监听类中的监听事件我们呢可以创建很多个。


@GetMapping("test_events")
 public String testEvents(){
   // 这个会促发一个事件
   applicationContext.publishEvent("触发监听");
   return "触发了监听事件,请查看";
 }

至此,我们已经完成了一个spring的事件监听。

来源:https://www.cnblogs.com/bananafish/p/11405805.html

标签:spring,boot,事件,监听
0
投稿

猜你喜欢

  • 安卓GreenDao框架一些进阶用法整理

    2023-06-17 03:27:21
  • Ajax 验证用户输入的验证码是否与随机生成的一致

    2022-06-29 00:43:32
  • Java 高并发十: JDK8对并发的新支持详解

    2022-12-02 02:43:09
  • java JSONArray 遍历方式(2种)

    2021-09-07 19:52:48
  • Proxy实现AOP切面编程案例

    2023-07-23 06:44:52
  • 浅谈JVM垃圾回收之哪些对象可以被回收

    2021-08-14 18:57:47
  • spring定时任务执行两次及tomcat部署缓慢问题的解决方法

    2022-12-27 09:53:25
  • Java基于虹软实现人脸识别、人脸比对、活性检测等

    2023-02-18 15:29:09
  • 详解java中产生死锁的原因及如何避免

    2022-04-22 00:36:14
  • Java详解实现多线程的四种方式总结

    2023-04-04 19:43:34
  • 基于spring security实现登录注销功能过程解析

    2023-11-29 06:09:05
  • java动态口令登录实现过程详解

    2022-01-01 10:16:28
  • java实现猜字母游戏

    2021-11-19 22:25:28
  • Java几种常用的断言风格你怎么选

    2021-10-30 23:30:32
  • JSON复杂数据处理之Json树形结构数据转Java对象并存储到数据库的实现

    2023-09-17 17:03:59
  • 如何自动生成Mybatis的Mapper文件详解

    2023-07-28 08:20:54
  • Activiti开发环境的搭建过程详解

    2021-08-16 07:13:05
  • Java class文件格式之特殊字符串_动力节点Java学院整理

    2022-02-11 14:45:59
  • Android编程单选项框RadioGroup综合应用示例

    2022-01-12 19:16:29
  • Java看完秒懂版熔断和降级的关系

    2023-11-06 01:12:13
  • asp之家 软件编程 m.aspxhome.com