Google EventBus
组成部分
- 事件(什么类型的事件);
事件监听器,即事件处理程序(响应);
注册事件监听器(register);
- 触发事件(trigger/post);
实例
事件,可以是任何自定义对象
/**
* Created by whuanghkl on 17/6/22.<br />
* 自定义事件
*/
public class AccessLoggerEvent {
}
事件监听器
/**
* Created by whuanghkl on 17/6/22.<br />
* 事件监听器
*/
@Component
public class AccessLoggerListener {
@Resource
private EventBus eventBus;
@PostConstruct
public void init() {
eventBus.register(this);
}
@Subscribe
public void logEvent(AccessLoggerEvent event) {
System.out.println("logEvent");
}
}
事件监听器自己注册到eventBus
在控制器中触发事件
AccessLoggerEvent accessLoggerEvent = new AccessLoggerEvent();
eventBus.post(accessLoggerEvent);
问题
- 什么时候注册事件监听器?
在事件监听器创建完之后自动注册,使用注解 @PostConstruct - 程序怎么知道那个事件监听器来响应?
根据事件对象类型(可以是String等系统类型,也可以是自定义类)

本文介绍了GoogleEventBus的工作原理,包括事件、事件监听器及其注册与触发的过程。通过具体实例展示了如何自定义事件及监听器,并解释了事件监听器的注册时机及事件响应机制。
568

被折叠的 条评论
为什么被折叠?



