1.概述

番石榴图书馆提供eventBus.这允许在组件之间发布 - 订阅通信。在本教程中,我们将研究如何使用一些功能eventBus.

2.设置

开始我们添加谷歌番石榴库依赖pom.xml:

<依赖>  com.google.guava   GUAVA   29.0-JRE  
可以找到最新版本这里

3.使用eventBus.

让我们首先使用一个简单的例子。

3.1。设置

我们首先看着eventBus.目的。它可以注册侦听器和帖子事件。使用它与实例化课程一样简单:

eventBus eventBus =新eventBus();

番石榴库为您提供了使用的自由eventBus.以任何方式最适合您的发展需求。

3.2。创建听众

我们创建一个具有处理程序方法以接收特定事件的侦听器类。我们注释处理程序方法@订阅。该方法作为参数接受与发布的事件相同类型的对象:
公共类EventListener {私有静态int eventshandled;@subscribe public void stringevent(String事件){eventsHandled ++;}}

3.3。注册听众

我们可以通过注册我们的订阅活动EventListener.上课eventBus.
EventListener侦听器= new enceListener();eventBus.register(侦听器);

3.4。未注册的听众

如果由于任何原因我们想要从中取消注册课程eventBus.,这也可以很容易地完成:

eventbus.unregister(侦听者);

3.5。发布事件

我们也可以发布活动eventBus.
@test public void给genstringevent_wheneventhandled_thensccess(){eventbus.post(“字符串事件”);assertequals(1,listener.geteventsHandled());}

3.6。发布定制事件

我们还可以指定自定义事件类并发布该事件。我们首先创建自定义事件:
公共类CustomEvent {私有字符串操作;//标准getter / setter和构造函数}

在中添加处理程序方法EventListener.这个活动的课程:

@subscribe public void somecustomevent(customevent customevent){eventshandled ++;}

我们现在可以发布我们的自定义事件:

@Test public vivencustomevent_wheneventhandled_thensccess(){customevent customevent = new customevent(“自定义事件”);eventbus.post(customevent);assertequals(1,listener.geteventsHandled());}

3.7。处理A.取消订阅事件

我们提供了一个档案允许我们处理任何没有倾听的事件的类。我们可以添加一种方法来处理方法档案班级:

@subscribe public void handledeadevent(devenevent devevent){eventshandled ++;}

4。结论

在本教程中,我们使用一个简单的示例作为如何使用番石榴的指南eventBus.

您可以找到本文的完整源代码和所有代码片段在github上

通用底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
2注释
最老的
最新
内联反馈
查看所有评论
评论在本文上关闭!