pom.xml
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
事件
public class MyEvent {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
监听器
import com.google.common.eventbus.AllowConcurrentEvents;
import com.google.common.eventbus.Subscribe;
public class MyEventListener {
@Subscribe
@AllowConcurrentEvents//并且是线程安全的
public void listen(MyEvent myEvent){
System.out.println("event="+myEvent.getName());
}
}
注册监听器并且发布一个事件
import com.google.common.eventbus.EventBus;
public class ListenerRegister {
private static final EventBus INSTANCE = new EventBus();
public static void main(String[] args) {
//注册事件监听器
INSTANCE.register(new MyEventListener());
//构造事件
MyEvent myEvent = new MyEvent();
myEvent.setName("myName");
INSTANCE.post(myEvent);
}
}