


观察者模式它的数据的变化是被动的。
观察者模式在java中的实现:



package com.hxq.springcloud.springcloudconfigclient;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class SpringEventListenerDemo {
public static void main(String[] args) {
AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext();
//注册监听器
annotationConfigApplicationContext.addApplicationListener(new ApplicationListener<MyApplicationEvent>() {
/**
* 监听器得到事件
* @param applicationEvent
*/
@Override
public void onApplicationEvent(MyApplicationEvent applicationEvent) {
System.out.println("接收到事件:"+applicationEvent.getSource());
}
});
annotationConfigApplicationContext.refresh();
//发布事件
annotationConfigApplicationContext.publishEvent(new MyApplicationEvent("hello world"));
}
}


