观察者模式
观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。
spring的事件发布与订阅
ApplicationEventPublisher
本质上是ApplicationContext的上下文
发布消息:
@Component
public class ApplicationEventPublisherService {
@Autowired
ApplicationEventPublisher publisher;
public void publisher(){
publisher.publishEvent(new ApplicationEventPublisherEvent("Hello, World!"));
}
}
接受消息
@Component
public class ApplicationEventPublisherListener {
@EventListener
public void onm(ApplicationEventPublisherEvent event){
System.out.println(Thread.currentThread().getName()+ "-----"+event.getMessage() + "ApplicationEventPublisherListener");
System.out.println(Thread.currentThread().getName()+"----- end publish event");
}
}
利用 @EventListener注解可以接受发布的消息