Springboot事件監聽機制 事件發布(二)

2021-10-05 16:09:16 字數 1066 閱讀 7436

spring中的事件監聽

前面我們大致了解了一下事件監聽,我們接著來看看spring中的事件監聽是如何使用的。這裡我選用了springboot 1.5.7的原始碼來學習。

注意:這裡有個判斷,如果有executor不為空,就說明是開啟執行緒非同步傳送的,否則就是同步傳送。

我們如何開啟非同步傳送,這個我們後面說。

接著看run()方法中的refreshcontext(context);方法,它裡面呼叫的refresh()方法,看過spring原始碼的都應該對這個refresh都應該不陌生。它是spring中很重要的乙個方法。

至此我們springboot在啟動時,事件監聽就全部執行完了。容器也啟動成功了。

spring事件彙總

事件event

說明contextrefreshedevent

contextstartedevent

當容器啟動時發布,即呼叫start()方法, 已啟用意味著所有的lifecycle bean都已顯式接收到了start訊號

contextstoppedevent

當容器停止時發布,即呼叫stop()方法, 即所有的lifecycle bean都已顯式接收到了stop訊號 , 關閉的容器可以通過start()方法重啟

contextclosedevent

當容器關閉時發布,即呼叫close方法, 關閉意味著所有的單例bean都已被銷毀.關閉的容器不能被重啟或refresh

requesthandledevent

這只在使用spring的dispatcherservlet時有效,當乙個請求被處理完成時發布

embeddedservletcontainerinitializedevent

在上下文重新整理和embeddedservletcontainer已就緒後發布。用於獲取正在執行的伺服器的本地埠。正常情況下,它會被啟動,但是***可以自由地檢查伺服器,如果願意,可以停止和啟動它。

SpringBoot事件監聽

springboot事件監聽機制 spring boot在啟動過程中增加事件監聽機制,為使用者功能拓展提供極大的便利。springboot支援四種事件監聽型別 spring boot啟動開始時執行的事件 spring boot 對應enviroment已經準備完畢,但此時上下文context還沒有建...

SpringBoot事件監聽

spring框架提供了完善的事件監聽機制,在spring框架中實現事件監聽的步驟如下 在spring容器中發布事件 在spring框架中提供了以下三種事件監聽的方式 註解式 通過在方法上加 eventlistener註解的方式監聽指定引數型別的事件,寫該類需要託管到spring容器中 org.spr...

SpringBoot的事件監聽

b 或者將 加入到容器中。component c 使用 eventlistener註解,在方法上面加入 eventlistener註解,且該類需要納入到spring容器中進行管理。1 package com.bie.license 23 45 6 7 description todo 8 autho...