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

Spring ApplicationListener的使用詳解

 更新時間:2020年06月11日 08:31:46   作者:happy9527  
這篇文章主要介紹了Spring ApplicationListener的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

介紹

Spring ApplicationListener 是Spring事件機制的一部分,與ApplicationEvent抽象類結合完成ApplicationContext的事件通知機制.

ContextRefreshedEvent事件監(jiān)聽

以Spring的內(nèi)置事件ContextRefreshedEvent為例,當ApplicationContext被初始化或刷新時,會觸發(fā)ContextRefreshedEvent事件.如下代碼示例:

@Component
public class LearnListener implements ApplicationListener<ContextRefreshedEvent> {
  @Override
  public void onApplicationEvent(ContextRefreshedEvent event) {
   //獲取所有的bean
   String[] definitionNames = event.getApplicationContext().getBeanDefinitionNames();
   for (String name : definitionNames) {
     //打印名稱
     System.out.println("name = " + name);
   }
  }
}

自定義事件

代碼

//繼承ApplicationEvent 抽象類就可以自定義事件模型
public class MyEvent extends ApplicationEvent {
 
  private Long id;
  private String message;
  public MyEvent(Object source) {
    super(source);
  }

  public MyEvent(Object source, Long id, String message) {
    super(source);
    this.id = id;
    this.message = message;
  }
  //get set 方法省略
}

//實現(xiàn)ApplicationListener接口
  @Component
public class MyListener implements ApplicationListener<MyEvent> {
  @Override
  public void onApplicationEvent(MyEvent event) {
    System.out.println("監(jiān)聽到事件: "+event.getId()+"\t"+event.getMessage());
  }
}

測試

@SpringBootTest
@RunWith(SpringRunner.class)
public class ListenerTest {
  @Autowired
  private ApplicationContext applicationContext;

  @Test
  public void testListenner() {
    MyEvent myEvent = new MyEvent("myEvent", 9527L, "十二點了 該吃飯了~");
    applicationContext.publishEvent(myEvent);
   // System.out.println("發(fā)送結束");
  }
}

結果

到此這篇關于Spring ApplicationListener的使用詳解的文章就介紹到這了,更多相關Spring ApplicationListener 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在Spring-Boot中如何使用@Value注解注入集合類

    在Spring-Boot中如何使用@Value注解注入集合類

    這篇文章主要介紹了在Spring-Boot中如何使用@Value注解注入集合類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Spring中自動裝配的4種方式

    Spring中自動裝配的4種方式

    今天小編就為大家分享一篇關于Spring中自動裝配的4種方式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • java 中鎖的性能提高辦法

    java 中鎖的性能提高辦法

    這篇文章主要介紹了java 中鎖的性能提高辦法的相關資料,需要的朋友可以參考下
    2017-02-02
  • Java自動釋放鎖的三種實現(xiàn)方案

    Java自動釋放鎖的三種實現(xiàn)方案

    在筆者面試過程時,經(jīng)常會被問到各種各樣的鎖,如樂觀鎖、讀寫鎖等等,非常繁多,下面這篇文章主要給大家介紹了關于Java自動釋放鎖的三種實現(xiàn)方案,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Sharding-Jdbc如何配置主從讀寫分離模式

    Sharding-Jdbc如何配置主從讀寫分離模式

    文章介紹了如何使用Sharding-JDBC實現(xiàn)MySQL的讀寫分離,通過配置主從數(shù)據(jù)源和讀寫分離策略,可以在項目中實現(xiàn)高效的數(shù)據(jù)庫讀寫操作,同時,文章還提到解決MySQL連接異常的一個常見方法
    2025-03-03
  • java實現(xiàn)簡單猜數(shù)字

    java實現(xiàn)簡單猜數(shù)字

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單猜數(shù)字,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Java基于ReadWriteLock實現(xiàn)鎖的應用

    Java基于ReadWriteLock實現(xiàn)鎖的應用

    這篇文章主要介紹了Java基于ReadWriteLock實現(xiàn)鎖的應用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Spring Batch批處理框架使用解析

    Spring Batch批處理框架使用解析

    這篇文章主要介紹了Spring Batch批處理框架使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Java?深入理解創(chuàng)建型設計模式之建造者模式

    Java?深入理解創(chuàng)建型設計模式之建造者模式

    建造者(Builder)模式和工廠模式的關注點不同:建造者模式注重零部件的組裝過程,而工廠方法模式更注重零部件的創(chuàng)建過程,但兩者可以結合使用
    2022-02-02
  • IDEA如何解決properties文件亂碼問題

    IDEA如何解決properties文件亂碼問題

    IDEA編輯器中打開properties文件時出現(xiàn)中文亂碼,可以通過修改文件編碼格式來解決,具體步驟為:設置》Setting》Editor》FileEncodings,將編碼格式更改為UTF-8
    2025-01-01

最新評論

资源县| 富源县| 牡丹江市| 仁寿县| 高青县| 商河县| 平舆县| 忻城县| 大英县| 耒阳市| 洪雅县| 万全县| 马龙县| 昌平区| 阿克| 大洼县| 孝昌县| 开阳县| 方山县| 昌平区| 霍山县| 保山市| 临猗县| 新泰市| 西和县| 安泽县| 长武县| 镇赉县| 唐山市| 伊金霍洛旗| 双牌县| 宝坻区| 乡宁县| 白朗县| 手机| 盘锦市| 栾川县| 湖口县| 广西| 阜新市| 潢川县|