如何自定義事件(Spring事件機制淺談)

       LZ第一次在工作中接觸Spring事件機制是項目中的定時任務,當Spring容器初始化完成時,把配置在數據庫中的定時任務數據全部加載.此時只用定義一個類實現ApplicationListener<ContextRefreshedEvent>接口,並把該類交給Spring來管理,並在覆寫的方法中實現自己的業務即可,因爲ContextRefreshedEvent就是Spring的啓動事件,Spring啓動完成就會觸發該事件.

       我們工作中也有許多時候需要自己定義事件與監聽器,例如,在金融相關的項目中,當一筆借款或還款被審覈成功後可能會推送消息,發站內信,發短信,記錄流水等等,如果我們都通過注入對象調用對象對應的方法來處理,那麼代碼耦合度高.此時我們可以使用Spring的事件機制來處理.

   接口簡介:

       ApplicationEvent : 事件,代表一個事情發生了,一個事件對象需要關聯(事件源,事件關聯的對象);

       ApplicationEventPublisher : 發佈消息對象,負責發佈消息,調度消息的監聽器;

       ApplicationListener : 負責處理某一類消息;

   流程簡介:

       首先創建一個監聽器,並註冊到Spring容器;

       其次,在某一個事件發生的時候,創建這個事件對應的消息對象(ApplicationEvent);

       最後,調用發佈消息的方法去發佈和調度監聽器處理這個消息.

   下面是個簡單的實踐:

  

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章