观察者模式它的数据的变化是被动的。
观察者模式在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")); } }