免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Spring架構揭秘-事件監聽機制

一、事件監聽機制概述

成都創新互聯公司是一家專注于成都網站設計、做網站與策劃設計,東遼網站建設哪家好?成都創新互聯公司做網站,專注于網站建設十余年,網設計領域的專業建站公司;建站業務涵蓋:東遼等地區。東遼做網站價格咨詢:028-86922220

二、事件監聽機制結構

三、Spring監聽機制架構

  

     Spring的Application擁有發布事件并且注冊事件監聽器的能力,擁有一套完整的事件發布和監聽機制。在Java中,通過java.util. EventObject來描述事件,通過java.util. EventListener來描述事件監聽器,在眾多的框架和組件中,建立一套事件機制通常是基于這兩個接口來進行擴展。

   在一個事件體系中,有以下幾個重要的概念。

1、事件源:事件對象的產生者,任何一個EventObject都有一個來源

2、事件監聽器注冊表:當事件框架或組件收到一個事件后,需要通知所有相關的事件監聽器來進行處理,這個時候就需要有個存儲監聽器的地方,也就是事件監聽器注冊表。

3、事件廣播器:事件廣播器在整個事件機制中扮演一個中介的角色,當事件發布者發布一個事件后,就需要通過廣播器來通知所有相關的監聽器對該事件進行處理。

下圖就是事件機制的結構圖下載

Spring架構揭秘-事件監聽機制

Spring事件發布機制

     在Spring中,事件機制大概也是這么個結構,具體的實現采用觀察者模式。下面我們來看看Spring的事件機制設計類圖下載

Spring架構揭秘-事件監聽機制

1、ApplicationEventPublisher是Spring的事件發布接口,事件源通過該接口的pulishEvent方法發布事件。

2、ApplicationEventMulticaster就是Spring事件機制中的事件廣播器,它默認提供一個SimpleApplicationEventMulticaster實現,如果用戶沒有自定義廣播器,則使用默認的。它通過父類AbstractApplicationEventMulticaster的getApplicationListeners方法從事件注冊表中獲取事件監聽器,并且通過invokeListener方法執行監聽器的具體邏輯

3、ApplicationListener就是Spring的事件監聽器接口,所有的監聽器都實現該接口,本圖中列出了典型的幾個子類。其中RestartApplicationListnener在SpringBoot的啟動框架中就有使用下載

4、在Spring中通常是ApplicationContext本身擔任監聽器注冊表的角色,在其子類AbstractApplicationContext中就聚合了事件廣播器ApplicationEventMulticaster和事件監聽器ApplicationListnener,并且提供注冊監聽器的addApplicationListnener方法。

 

     通過上圖就能較清晰的知道當一個事件源產生事件時,它通過事件發布器ApplicationEventPublisher發布事件,然后事件廣播器ApplicationEventMulticaster會去事件注冊表ApplicationContext中找到事件監聽器ApplicationListnener,并且逐個執行監聽器的onApplicationEvent方法,從而完成事件監聽器的邏輯。

當前標題:Spring架構揭秘-事件監聽機制
分享路徑:http://m.newbst.com/article26/gscpjg.html

成都網站建設公司_創新互聯,為您提供外貿網站建設、網站制作、響應式網站、ChatGPT、網站建設、網站策劃

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發