最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

實(shí)現(xiàn)步驟:四個(gè)步驟,四種方式

第一種方式

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

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

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

4、發(fā)布事件

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

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

第二步:自定義事件監(jiān)聽器,實(shí)現(xià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

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

MyEventHandler.class

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

相關(guān)文章

  • MyBatis綁定錯(cuò)誤提示BindingException:Invalid bound statement (not found)的解決方法

    MyBatis綁定錯(cuò)誤提示BindingException:Invalid bound statement (not f

    這篇文章主要介紹了MyBatis綁定錯(cuò)誤提示BindingException:Invalid bound statement (not found)的解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
    2017-01-01
  • java之scan.next()與scan.nextline()函數(shù)的使用及區(qū)別

    java之scan.next()與scan.nextline()函數(shù)的使用及區(qū)別

    這篇文章主要介紹了java之scan.next()與scan.nextline()函數(shù)的使用及區(qū)別,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Activiti流程文件部署過程解析

    Activiti流程文件部署過程解析

    這篇文章主要介紹了Activiti流程文件部署過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • springboot 微信授權(quán)網(wǎng)頁登錄操作流程

    springboot 微信授權(quán)網(wǎng)頁登錄操作流程

    這篇文章主要介紹了springboot 微信授權(quán)網(wǎng)頁登錄操作流程,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java如何獲取Json中的數(shù)據(jù)實(shí)例代碼

    Java如何獲取Json中的數(shù)據(jù)實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Java如何獲取Json中數(shù)據(jù)的相關(guān)資料,我們在日常開發(fā)中少不了和JSON數(shù)據(jù)打交道,那么我們來看看JAVA中常用的JSON獲取方式,需要的朋友可以參考下
    2023-09-09
  • 詳解在SpringBoot應(yīng)用中獲取應(yīng)用上下文方法

    詳解在SpringBoot應(yīng)用中獲取應(yīng)用上下文方法

    本篇文章主要介紹了詳解在SpringBoot應(yīng)用中獲取應(yīng)用上下文方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • Java通過XPath獲取XML文件中符合特定條件的節(jié)點(diǎn)

    Java通過XPath獲取XML文件中符合特定條件的節(jié)點(diǎn)

    今天小編就為大家分享一篇關(guān)于Java通過XPath獲取XML文件中符合特定條件的節(jié)點(diǎn),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • java將數(shù)字價(jià)格轉(zhuǎn)換為中文大寫代碼示例(工具類)

    java將數(shù)字價(jià)格轉(zhuǎn)換為中文大寫代碼示例(工具類)

    這篇文章主要介紹了java將數(shù)字價(jià)格轉(zhuǎn)換為中文大寫的相關(guān)資料,在Java中實(shí)現(xiàn)將數(shù)字價(jià)格轉(zhuǎn)換為中文大寫需要將數(shù)字分解為各個(gè)部分(如個(gè)位、十位、百位等),并根據(jù)這些部分轉(zhuǎn)換為對應(yīng)的中文大寫數(shù)字,需要的朋友可以參考下
    2024-10-10
  • springboot攔截器Interceptor的使用,你都了解嗎

    springboot攔截器Interceptor的使用,你都了解嗎

    springmvc 中的攔截器可以對請求進(jìn)行判別,在請求到達(dá)控制器之前,把非法的請求給攔截掉下面來說一說, 它在springboot中的使用,感興趣的朋友一起看看吧
    2021-07-07
  • 一文掌握J(rèn)ava的工具類和API

    一文掌握J(rèn)ava的工具類和API

    在Java中,工具類通常包含一系列靜態(tài)方法,用于執(zhí)行常見的任務(wù),這些任務(wù)可能不直接關(guān)聯(lián)到特定的業(yè)務(wù)邏輯,而是用于處理一些基礎(chǔ)的數(shù)據(jù)轉(zhuǎn)換、字符串操作、文件操作等,這篇文章主要介紹了一文搞懂Java的工具類和API,需要的朋友可以參考下
    2008-01-01

最新評論

兴化市| 醴陵市| 宁南县| 濉溪县| 门源| 梅州市| 长白| 黔东| 桂平市| 铁力市| 仙桃市| 哈巴河县| 阳朔县| 宜州市| 邳州市| 民权县| 维西| 新源县| 绥芬河市| 宣汉县| 余姚市| 开封县| 吉首市| 临沭县| 临潭县| 丹凤县| 达孜县| 井研县| 江城| 宁远县| 镇远县| 南丹县| 阿鲁科尔沁旗| 新平| 会昌县| 格尔木市| 旬邑县| 淮滨县| 海宁市| 阿坝县| 胶南市|