zoukankan      html  css  js  c++  java
  • Spring中实现观察者模式

    实现步骤

    1. 自定义需要发布的事件类,需要继承 ApplicationEvent

    2. 使用 @EventListener 来监听事件或者实现 ApplicationListener 接口。

    3. 使用 ApplicationEventPublisher 来发布自定义事件(@Autowired注入即可)

    代码

    // 事件的载体,可以定义自定义变量或者直接用 source
    @Component
    public class MyEvent extends ApplicationEvent {
        public MyEvent(ApplicationContext source) {
            super(source);
        }
    }
    
    // 观察者
    @Component
    public class MyListenerA implements ApplicationListener<MyEvent> {
        @Override
        public void onApplicationEvent(MyEvent myEvent) {
            System.out.println("MyListenerA");
        }
    }
    
    // 消息发送者
    @Component
    public class MyPublisher {
    
       @Autowired
       private ApplicationEventPublisher publisher;
    
        public void publisherEvent(MyEvent myEvent) {
            publisher.publishEvent(myEvent);
        }
    
        public void publisherEvent(Object event) {
            publisher.publishEvent(event);
        }
    }
    
  • 相关阅读:
    Django基础(一)
    CSS
    HTML
    python之路_面向对象
    python之路第六篇
    python之路第四篇
    python之路第三篇
    python之路第二篇
    python之路第一篇
    hdu 3551(一般图的匹配)
  • 原文地址:https://www.cnblogs.com/manastudent/p/14805566.html
Copyright © 2011-2022 走看看