spring事件application event原理详解 -九游会真人第一品牌

这篇文章主要介绍了spring 事件application event原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

spring 的事件(application event)为 bean 与 bean 之间的消息通信提供了支持。当一个 bean 处理完一个任务之后,希望另一个 bean 知道并能做相应的处理,这时我们就需要让另一个 bean 监听当前 bean 所发送的事件。(观察者模式)
spring 的事件需要遵循以下流程:

自定义事件,集成 applicationevent。

定义事件监听器,实现 applicationlistener。

使用容器发布事件。

以下代码基于 spring boot 实现

自定义事件

public class demoevent extends applicationevent {
 private static final long serialversionuid = 1l;
 private string msg;
 public demoevnet(object source, string msg) {
  super(source);
  this.msg = msg;
 }
 public string getmsg() {
  return msg;
 }
 public void setmsg(string msg) {
  this.msg = msg;
 }
}

事件监听者

@component
public class demolistener implements applicationlistener {
 public void onapplicationevent(demoevent event) {
  string msg = event.getmsg();
  system.out.println("接收到了消息:"   msg);
 }
}

代码解释:

实现 applicaionlistener 接口,并制定监听的时间类型。

使用 onapplicationevent 方法对消息进行接收处理。

事件发布者

@component
public class demopublisher {
 @autowired
 applicationcontext applicationcontext;
 public void publish(string msg) {
  applicaioncontext.publishevent(new demoevent(this, msg));
 }
}

代码解释:

注入 applicaioncontext 用来发布事件。

使用 applicaioncontext 的 publishevent 方法来发布。

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

声明:本文内容来源于网络,j9九游会老哥俱乐部交流区的版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌j9九游会老哥俱乐部交流区的版权的内容,欢迎发送邮件至:notice#www.elefans.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

网站地图