1. 程式人生 > 程式設計 >Spring boot事件監聽實現過程解析

Spring boot事件監聽實現過程解析

事件監聽其實我們並不陌生,簡單來講,當程式達到了某個特定的條件,程式就會自動執行一段指令。在spring 中也一樣,我們可以使用spring中的事件監聽來實現某些特定的需求。

釋出事件

既然要監聽事件,首先要釋出我們的事件嘛。在spring中釋出事件我們可以通過繼承ApplicationEvent 來發布我們的事件類。

@Data
public class SendEvent extends ApplicationEvent {

  public SendEvent(Object source) {
    super(source);
  }
}

我們得呼叫父類的構造方發super(source)

事件監聽

在學習JavaWeb專案中有寫過servlet監聽器,但是那個監聽器之會監聽方法而不會監聽到值的變化,要想監聽到程式內部某個值的變化還得寫事件監聽類。

@Component
public class SendEventListener {

  @EventListener
  public void start(String lins){
    System.out.println(lins);
  }
}

在這裡我們使用@EventListener來監聽我們的事件。

事件觸發

說了這麼多,最終要的還沒說,事件要怎麼觸發。

我們可以通過application.publishEvent()這個方法來觸發我們的事件,這裡需要強調一下這個方法引數中的物件是會與監聽中的物件匹配的。因此監聽類中的監聽事件我們呢可以建立很多個。

@GetMapping("test_events")
  public String testEvents(){
    // 這個會促發一個事件
    applicationContext.publishEvent("觸發監聽");
    return "觸發了監聽事件,請檢視";
  }

至此,我們已經完成了一個spring的事件監聽。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。