Spring的事件機制

2021-09-11 12:36:06 字數 1297 閱讀 9755

@data

public

class

myevent

extends

}複製**

public

class

mylistener

implements

} ...

// springboot的啟動類中新增***

public

static

void

main

(string args)

複製**

@component

@slf4j

public

class

myeventhandler

", event.getmsg());

try catch (interruptedexception e)

}}複製**

@component

@slf4j

public

class

eventservice

implements

public string doeventwork

(string msg)

}複製**

@springboottest

@runwith(springrunner.class)

public

class

eventservicetest

}複製**

如果2個事件之間是繼承關係,會先監聽到子類事件,處理完再監聽父類。

// myevent2 extends myevent

@component

@slf4j

public

class

myeventhandler

", event.getmsg());

try catch (interruptedexception e)

}@eventlistener

public

void

handleevent2

(myevent2 event)

", event.getmsg());

try catch (interruptedexception e)

}}複製**

預設是同步事件,如要使用非同步,需要開啟非同步,並使用@async

Spring事件機制

使用spring事件機制能很好地幫助我們消除不同業務間的耦合關係,也可以提高執行效率,應該根據業務場景靈活選擇.event 說明 contextstartedevent 當容器啟動時發布,即呼叫start 方法,已啟用意味著所有的lifecycle bean都已顯式接收到了start訊號 conte...

使用Spring的事件機制

其次就需要去定義事件,例如流程結束事件,乙個購物系統當訂單流程已經結束了,我們需要通知發貨員發貨,這個時候我們的這個通知發貨,就是乙個觀察者,我們需要實現通知,比如簡訊,郵件通知,來告知物流 下面這幅圖,是我畫的很簡單的乙個圖,這就是核心的方法和核心的類。img 然後我們看看源 是怎麼做的 樣例 自...

Spring的事件機制詳解

同步事件 在乙個執行緒裡,按順序執行業務,做完一件事再去做下一件事.非同步事件 在乙個執行緒裡,做乙個事的同事,可以另起乙個新的執行緒執行另一件事,這樣兩件事可以同時執行.用乙個例子來解釋同步事件和非同步事件的使用場景,有時候一段完整的 邏輯,可能分為幾部分,拿最常見的註冊來說,假設完整流程是,1....