• 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);
        }
    }
    
  • 相关阅读:
    撒谎
    可怜的猪
    GIS学习笔记(五)
    国产木马冰河2.2
    矛盾
    GIS学习笔记(六)
    男人如衣服
    VS2005快捷键大全
    慧悟
    DOS命令
  • 原文地址:https://www.cnblogs.com/manastudent/p/14805566.html
Copyright © 2020-2023  润新知