1package guavademo.event.bus; 2 3import com.google.common.eventbus.EventBus; 4import com.google.common.eventbus.Subscribe; 5 6/** 7 * Created by liuguangxin on 2018/4/9. 8 */ 9public class OrderEvent { 10 private String message; 11 12 public OrderEvent(String message) { 13 this.message = message; 14 } 15 16 public String getMessage() { 17 return message; 18 } 19} 20 21 22class EventListener { 23 24 public EventListener(){ 25 System.out.println(); 26 } 27 28 @Subscribe 29 public void listen(OrderEvent event) { 30 //TODO @Subscribe注解的处理逻辑在com.google.common.eventbus.EventBus.register()中被处理 31 System.out.println("receive msg:" + event.getMessage()); 32 } 33 34 @Subscribe 35 public void listen(String event) { 36 System.out.println("receive msg:" + event); 37 } 38} 39 40 41class Main { 42 public static void main(String[] args) { 43 EventBus eventBus = new EventBus("daxin"); 44 45 //register all subscriber 46 eventBus.register(new EventListener()); 47 48 // 支持多个订阅者 49 // eventBus.register(new EventListener()); 50 51 //publish event 52 eventBus.post(new OrderEvent("hello")); 53 eventBus.post(new OrderEvent("world")); 54 eventBus.post("String type Event"); 55 56 } 57}
@Subscribe注解的处理逻辑在com.google.common.eventbus.EventBus.register()中被处理