1、建立乙個支付事件
//訊息體
private mapmap;
//訂閱主題
private string topic;
public payevent(object source, mapmap, string topic)
public mapgetmap()
public void setmap(mapmap)
public string gettopic()
public void settopic(string topic) }
2、建立事件監聽類
@component
@async
@override
//訂閱主題
string topic = payevent.gettopic();
//訊息體
mapmap = payevent.getmap();
//傳送簡訊
system.out.println("訂閱主題是:" + topic + ";傳送簡訊:" + map.get("msg"));
}}@component
@async
@override
string topic = payevent.gettopic();
mapmap = payevent.getmap();
}}//郵箱監聽
@component
@async
@override
string topic = payevent.gettopic();
mapmap = payevent.getmap();
system.out.println("訂閱主題是:" + topic + ";傳送郵件:" + map.get("msg"));
}}@component
@async
@override
string topic = payevent.gettopic();
mapmap = payevent.getmap();
}} 3、service
@override
public string pay(string channel, string amount) throws exception
string msg = paystrategy.pay(channel, amount);
mapmap = new hashmap<>();
map.put("msg",msg);
//建立乙個支付事件
payevent payevent = new payevent(this, map, "支付");
return msg;
}
使用Spring的事件機制
其次就需要去定義事件,例如流程結束事件,乙個購物系統當訂單流程已經結束了,我們需要通知發貨員發貨,這個時候我們的這個通知發貨,就是乙個觀察者,我們需要實現通知,比如簡訊,郵件通知,來告知物流 下面這幅圖,是我畫的很簡單的乙個圖,這就是核心的方法和核心的類。img 然後我們看看源 是怎麼做的 樣例 自...
Spring事件機制
使用spring事件機制能很好地幫助我們消除不同業務間的耦合關係,也可以提高執行效率,應該根據業務場景靈活選擇.event 說明 contextstartedevent 當容器啟動時發布,即呼叫start 方法,已啟用意味著所有的lifecycle bean都已顯式接收到了start訊號 conte...
Spring的事件機制
data public class myevent extends 複製 public class mylistener implements springboot的啟動類中新增 public static void main string args 複製 component slf4j publi...