中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么理解java監聽者模式

發布時間:2021-11-16 13:48:41 來源:億速云 閱讀:239 作者:iii 欄目:大數據

本篇內容介紹了“怎么理解java監聽者模式”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

在項目中,有不少地方用到了監聽者模式。 比如,一個接口在做異步操作時,使用spring自帶的ApplicationContextEvent(applicationContext.publishEvent)。

下面簡單講述一下這個重要的設計模式。

監聽者模式包含了一個監聽者Listener與之對應的事件Event,還有一個事件發布者EventPublish,過程就是EventPublish發布一個事件,被監聽者捕獲到,然后執行事件相應的方法。

1. 事件定義

public class EventDemo extends ApplicationEvent {
    private String message;
    public EventDemo(Object source, String message) {
        super(source);
        this.message = message;
    }

    public String getMessage() {
        return message;
    }
}

@EventListener @Async

2. 事件監聽者

@Component
public class EventDemoListern implements ApplicationListener<EventDemo> {

    @Override
    public void onApplicationEvent(EventDemo event) {
        System.out.println("receiver " + event.getMessage());
    }
}

3. 事件發布

@Component
public class EventDemoPublish {

    @Autowired
    private ApplicationEventPublisher applicationEventPublisher;

    public void publish(String message){
        EventDemo demo = new EventDemo(this, message);
        applicationEventPublisher.publishEvent(demo);
    }

}

Spring Event

  • ApplicationContextEvent(Context...的抽象類)

  • ContextClosedEvent 生命周期關閉

  • ContextRefreshedEvent refresh完成

  • ContextStartedEvent 生命周期啟動

  • ContextStoppedEvent 生命周期停止

  • PayloadApplicationEvent

  • RequestHandledEvent

  • ServletRequestHandledEvent RequestHandledEvent的子類,Spring MVC 請求完成之后推送的事件

“怎么理解java監聽者模式”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉树县| 辛集市| 景德镇市| 青神县| 吴江市| 贡觉县| 大冶市| 兴隆县| 新兴县| 长子县| 日照市| 九寨沟县| 平乡县| 兴国县| 申扎县| 加查县| 武威市| 鸡泽县| 左云县| 福州市| 从化市| 济南市| 庆元县| 南皮县| 略阳县| 马尔康县| 梁山县| 睢宁县| 玛沁县| 定安县| 合江县| 保定市| 冕宁县| 嘉定区| 邵阳县| 柏乡县| 池州市| 普宁市| 桃园县| 双辽市| 新乡市|