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

 更新时间:2020年06月16日 09:13:35   作者:BalaBala  
这篇文章主要介绍了,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

事件监听其实我们并不陌生,简单来讲,当程序达到了某个特定的条件,程序就会自动执行一段指令。在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的事件监听。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

最新评论