Spring事件監聽機制

2022-06-30 09:36:11 字數 887 閱讀 4737

在開發中,我們經常會遇到如下過程:比如使用者註冊後,會傳送郵件到使用者的註冊郵箱上,在spring中常用事件監聽機制來執行。以下為相關**。

1、首先自定義事件源。

private object source;

public devicestatusevent(object source)

@override

public object getsource()

}2、事件的發布物件

@component

@slf4j

public springcontextholder()

}@override

}public static t getbean(classrequiredtype)

public static void clearholder() }}

}@override

public void destroy() catch (throwable var2)

}}

3、事件監聽(預設是同步的)

@component

@override

system.out.println("事件監聽結果");

}}

4、進行呼叫  

springcontextholder.publishevent(new devicestatusevent(camerastatus));

如果是使用非同步監聽的話,那麼除了第三步需要變動,其他不用變動。

方法:spring使用threadpooltaskexecutor來執行非同步任務,其實就是schedulingtaskexecutor,使用@enableasync註解@async註解實現非同步監聽事件的呼叫。

spring 事件監聽

用乙個簡單的例子來實現spring事件監聽的功能 這個例子主要功能是,記錄那些使用者是第一次登入系統,如果使用者是第一次登入系統,則呼叫spring的事件監聽,記錄這些使用者。主要用到的spring的類和介面有 這兩者構成了觀察者模式 observer 下面讓我們來看下實現 private stri...

spring 事件監聽

一 同步監聽 private string eater super source this.eater eater public string geteater 2 定義發布監聽事件服務 component public class publishservice public void publis...

Spring之事件監聽

spring的監聽事件模型應該是觀察者模式。本人專案裡的應用在process方法按日期同步某個庫的資料,在方法最後publish乙個event事件,這個事件用於後續同步過來的資料處理。事件處理採用了spring的監聽模型.這樣可以做到process方法與event可以非同步分離執行。注 這個事件模型...