亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談Spring-boot事件監(jiān)聽

 更新時間:2017年09月23日 09:30:23   作者:八目朱勇銘  
這篇文章主要介紹了淺談Spring-boot事件監(jiān)聽,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

springboot的事件監(jiān)聽:為bean之間的消息通信提供支持。當一個bean做完一件事以后,通知另一個bean知曉并做出相應處理。這時,我們需要另一個bean,監(jiān)聽當前bean所發(fā)生的事件。

實現步驟:四個步驟,四種方式

第一種方式

1、自定義事件,一般是繼承ApplicationEvent抽象類

2、定義事件監(jiān)聽器,一般是實現ApplicationListener接口

3、1)把監(jiān)聽器加入到SpringApplication中:ApplicationListener.addListener();然后發(fā)布事件
      2)或放置到spring容器:@Conponent
      3)或在application.properties配置文件中配置context.listener.classes=監(jiān)聽器全類名
      4)或編寫一個類,納入spring容器中,編寫一個帶參的方法,參數為事件的父類或需要監(jiān)聽的事件,加上@EventListener

4、發(fā)布事件

第一步:自定義事件,繼承ApplicationEvent抽象類

public class MyApplicationEvent extends ApplicationEvent {
  public MyApplicationEvent(Object source) {
    super(source);
  }
}

第二步:自定義事件監(jiān)聽器,實現ApplicationListener接口

public class MyApplicationListener implements ApplicationListener<MyApplicationEvent> {
  @Override
  public void onApplicationEvent(MyApplicationEvent myApplicationEvent) {
    System.out.println(myApplicationEvent.getClass().getName() + "被監(jiān)聽......");
  }
}

第三、四步:把監(jiān)聽器加入spring中,然后發(fā)布事件

@SpringBootApplication
public class BlogApplication {
  public static void main(String[] args) {
    ConfigurableApplicationContext context = SpringApplication.run(BlogApplication.class, args);
    //把監(jiān)聽器加入到SpringApplication中
    context.addApplicationListener(new MyApplicationListener());
    //發(fā)布事件
    context.publishEvent(new MyApplicationEvent(new Object()));
    context.close();
  }
}


第二種方式:換一種方式將監(jiān)聽器加入spring容器中(只需修改BlogApplication)

通過@component注解,將監(jiān)聽器加入spring容器中

BlogApplication.class

第三種方式:在application.properties配置文件中配置context.listener.classes=監(jiān)聽器全類名

spring.properties

第四種方式:編寫一個類MyEventHandler,替代上文中的MyApplicationListener,將其納入spring容器中,編寫一個帶參的方法,參數為事件的父類或需要監(jiān)聽的事件,加上@EventListener。(參數的范圍越廣泛,監(jiān)聽到的事件越多)

MyEventHandler.class

至此,springboot的四種事件監(jiān)聽方式就介紹完畢啦~,以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java實現map轉換成json的方法詳解

    Java實現map轉換成json的方法詳解

    這篇文章主要為大家詳細介紹了Java語言實現map轉換成json的幾種方法,文中的示例代碼講解詳細,對我們學習Java有一定幫助,需要的可以參考一下
    2022-05-05
  • java實現單機版五子棋

    java實現單機版五子棋

    這篇文章主要為大家詳細介紹了java實現單機版五子棋源碼,以及五子棋游戲需要的實現,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • java藍橋杯試題

    java藍橋杯試題

    這篇文章主要介紹了java藍橋杯試題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 關于@ConditionalOnProperty的作用及用法說明

    關于@ConditionalOnProperty的作用及用法說明

    這篇文章主要介紹了關于@ConditionalOnProperty的作用及用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • SpringBoot開啟異步調用方法

    SpringBoot開啟異步調用方法

    這篇文章主要為大家詳細介紹了SpringBoot開啟異步調用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Spring中循環(huán)依賴的解決方法詳析

    Spring中循環(huán)依賴的解決方法詳析

    這篇文章主要給大家介紹了關于Spring中循環(huán)依賴的解決方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用spring具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • Java實現的自定義類加載器示例

    Java實現的自定義類加載器示例

    這篇文章主要介紹了Java實現的自定義類加載器,結合具體實例形式分析了java自定義類加載器的原理與具體實現技巧,需要的朋友可以參考下
    2019-07-07
  • SpringBoot 如何實現異步編程

    SpringBoot 如何實現異步編程

    在SpringBoot的日常開發(fā)中,一般都是同步調用的,但實際中有很多場景非常適合使用異步來處理,本文就詳細的介紹一下SpringBoot 如何實現異步編程 ,具有一定的參考價值,感興趣的可以了解一下
    2021-12-12
  • Java編程中的一些常見問題匯總

    Java編程中的一些常見問題匯總

    這篇文章主要介紹了Java編程中的一些常見問題匯總,本文總結的都是一些Java代碼中比較典型的錯誤,需要的朋友可以參考下
    2014-09-09
  • 解決在IDEA下使用JUnit的問題(解決過程)

    解決在IDEA下使用JUnit的問題(解決過程)

    很多朋友跟小編反饋在IDEA下使用JUnit進行實例測試的時候出現很多奇葩問題,今天小編通過本文給大家分享idea使用JUnit出現問題及解決過程,感興趣的朋友跟隨小編一起看看吧
    2021-05-05

最新評論