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);
        }
    }
    
  • 相关阅读:
    Sybase自增字段跳号处理
    Vault数据库还原/恢复问题
    值得一看的技术书
    原来爱一直在身边
    【转】VC++编程十大秘诀
    Qt 文件搜索
    字符串穷举算法(STL)
    C++ 流
    QML 学习(三)
    Qt Everything
  • 原文地址:https://www.cnblogs.com/manastudent/p/14805566.html
Copyright © 2011-2022 走看看