可用於**解耦,例如:購買會員支付成功,發布訂單支付成功事件。然後多個***開始執行:增加會員天數 --> 傳送購買成功訊息 --> 通知對賬系統同步資料 。等等等等
**如下(示例):
package com.ivan.event.listener;
import com.ivan.event.event.myevent;
import org.springframework.context.event.eventlistener;
import org.springframework.core.annotation.order;
import org.springframework.stereotype.component;
/** * @author
* @date 2021/1/29 14:39
*/@component
public
class
myeventlistener
catch
(interruptedexception e)}}
@eventlistener
@order(20
)public
void
listen2
(myevent myevent)
catch
(interruptedexception e)}}
}
@eventlistener註解,表示該方法為監聽方法
@order註解,表示執行順序,可不新增。不新增就無法控制其執行順序
@async註解,可開啟監聽方法的非同步執行,加了該註解則@order無效
package com.ivan.event.listener;
import com.ivan.event.event.myevent;
import org.springframework.context.event.eventlistener;
import org.springframework.stereotype.component;
/** * @author
* @date 2021/1/29 14:39
*/@component
public
class
myeventlistener
@eventlistener
@order(19
)public
void
listen2
(myevent myevent)
}
**如下(示例):
package com.ivan.event;
import com.ivan.event.dto.order;
import com.ivan.event.event.myevent;
import org.junit.jupiter.api.test;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.boot.test.context.springboottest;
@springboottest
class
}
執行結果(示例):
Spring自定義事件
如果僅僅使用 spring 的內定事件,那顯然是遠遠不夠的,幸好,spring 為我們提供了中自定義發布事件的能力。下面通過例程 來展示如何發布並監聽自定義的事件。在工程中,我們定義乙個 animal 類,為受管 bean 它具有乙個 speak 方法,我們要做的就是監視該方法,當使用者呼叫該方法時...
spring 自定義事件
首先我們先寫乙個自定義的登入事件。loginformevent.as package com.events 包,可以理解成目錄,在com events 下 flex中的方法重寫原來是這個樣,就順便寫到這了。override public function clone event 然後我們就寫自定義元...
Spring 自定義註解案例
1.自定義時間格式註解 target elementtype.field 作用於字段上 retention retentionpolicy.runtime 保留到執行期 public inte ce dateparse2.自定義資料字典註解 target elementtype.field 作用於字...