亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Spring Boot應用事件監聽示例詳解

2024-07-14 08:43:01
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹了關于Spring Boot應用事件監聽的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧

1. Spring Boot特有的應用事件

除了Spring框架的事件,Spring Boot的SpringApplication也發送了一些自己的事件:

  • ApplicationStartingEvent:在任何處理(除了注冊listener和initializer)開始之前發送。
  • ApplicationEnvironmentPreparedEvent: 在context創建之前,而用到context中的Environment已經被識別時發送。
  • ApplicationContextInitializedEvent: SpringApplication正在啟動,ApplicationContext已準備好且ApplicationContextInitializer已被調用但是bean的定義還沒有被加載時發送。
  • ApplicationPreparedEvent: 在context刷新之前,在bean的定義已經被加載之后調用。
  • ApplicationStartedEvent: 在任何應用和command-line runner調用之前,而context已經被刷新時發送。
  • ApplicationReadyEvent: 在任何應用和command-line runner被調用的時候發送,它意味著應用可以接受請求了。
  • ApplicationFailedEvent: 在啟動時有異常的時候發送。

有些事件是在ApplicationContext創建之前觸發的,所以我們不能用常規的注冊成bean的事件監聽方式:

  • 注解了@EventListener注解分方法的類注冊的bean;
  • 實現了ApplicationListener<Event>接口的類注冊的bean。

像ApplicationStartedEvent和ApplicationReadyEvent是ApplicationContext創建之后觸發的,可以用上述兩種方式來監聽事件。

2. 如何監聽這些事件

我們可以通過下面的方式注冊監聽:

2.1. SpringApplication.addListeners(...)

SpringApplication application = new SpringApplication(StartEventsApplication.class);application.addListeners(  (ApplicationListener<ApplicationStartingEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()),  (ApplicationListener<ApplicationEnvironmentPreparedEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()),  (ApplicationListener<ApplicationContextInitializedEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()),  (ApplicationListener<ApplicationPreparedEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()),  (ApplicationListener<ApplicationStartedEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()),  (ApplicationListener<ApplicationReadyEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()));application.run(args);

2.2. SpringApplicationBuilder.listeners(...)

new SpringApplicationBuilder()   .sources(StartEventsApplication.class)   .listeners(     (ApplicationListener<ApplicationStartingEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()),     (ApplicationListener<ApplicationEnvironmentPreparedEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()),     (ApplicationListener<ApplicationContextInitializedEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()),     (ApplicationListener<ApplicationPreparedEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()),     (ApplicationListener<ApplicationStartedEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()),     (ApplicationListener<ApplicationReadyEvent>) event -> log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName())     )   .run(args);

2.3. META-INF/spring.factories

src/main/resources/META-INF/spring.factories:

org.springframework.context.ApplicationListener=top.wisely.startevents.listeners.ApplicationContextInitializedEventListener, /            top.wisely.startevents.listeners.ApplicationEnvironmentPreparedEventListener, /            top.wisely.startevents.listeners.ApplicationPreparedEventListener, /            top.wisely.startevents.listeners.ApplicationReadyEventListener, /            top.wisely.startevents.listeners.ApplicationStartedEventListener, /            top.wisely.startevents.listeners.ApplicationStartingEventListener

監聽器只需實現ApplicationListener<要監聽的接口類型>接口,無需手動注冊為bean:

public class ApplicationStartedEventListener implements ApplicationListener<ApplicationStartedEvent> { @Override public void onApplicationEvent(ApplicationStartedEvent event) {  log.info("----------- 監聽Spring Boot:" + event.getClass().getSimpleName()); }}

3. 源碼地址

https://github.com/wiselyman/spring-boot-application-events.git

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。 


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产在线观看精品| 国产美女直播视频一区| 欧美精品久久久久久久免费观看| 欧美猛少妇色xxxxx| 成人精品久久一区二区三区| 欧美在线视频在线播放完整版免费观看| 色老头一区二区三区在线观看| 欧美裸体xxxx极品少妇软件| 2019亚洲日韩新视频| 精品精品国产国产自在线| 国产丝袜一区二区三区免费视频| 久久99国产综合精品女同| 色妞色视频一区二区三区四区| 欧美另类老肥妇| 欧美激情综合色| 国产精品综合不卡av| 久久久久久久一| 国产成人综合一区二区三区| 中文字幕亚洲无线码在线一区| 91影院在线免费观看视频| 国产97在线观看| 国产一区二区三区在线免费观看| 伊人一区二区三区久久精品| 成人免费网站在线观看| 欧美一级在线播放| 亚洲变态欧美另类捆绑| 在线观看欧美视频| 日韩在线欧美在线| 久久久久久综合网天天| 久久天天躁日日躁| 久久免费视频网| 日韩视频永久免费观看| 超碰97人人做人人爱少妇| 亚洲第一精品夜夜躁人人爽| 欧美国产日韩二区| 亚洲午夜未满十八勿入免费观看全集| 欧美成人sm免费视频| 性欧美激情精品| 亚洲欧美国产精品va在线观看| 国产精品国产亚洲伊人久久| 日韩欧美亚洲范冰冰与中字| 久久久久久999| 69av在线视频| 精品国产户外野外| 欧美www视频在线观看| 91色p视频在线| 精品国产乱码久久久久久虫虫漫画| 欧美国产视频日韩| 国产精品日韩欧美| 精品视频www| 91国产美女视频| 最近2019中文免费高清视频观看www99| 亚洲国产欧美日韩精品| 亚洲人成电影网站色| 狠狠色狠狠色综合日日五| 亚洲一级一级97网| 精品国产成人av| 国产精品久久久久久中文字| 正在播放亚洲1区| 亚洲第一区第二区| 最近日韩中文字幕中文| 91av在线精品| 国产日韩综合一区二区性色av| 国产精品专区h在线观看| 色综合视频网站| 国产精品爱啪在线线免费观看| 欧美日韩一区二区三区| 中文字幕欧美视频在线| 欧美极品少妇xxxxx| 亚洲精品福利在线观看| 清纯唯美日韩制服另类| 久久精品成人一区二区三区| 欧洲成人在线观看| 精品五月天久久| 欧美国产日韩免费| 亚洲视频在线观看网站| 青青在线视频一区二区三区| 亚洲加勒比久久88色综合| 国产精品久久久久久影视| 欧美午夜无遮挡| 日韩视频免费观看| 国产精品丝袜视频| 国产精品精品久久久久久| 亚洲欧美日韩久久久久久| 欧美特黄级在线| 国产91精品在线播放| 日韩国产精品亚洲а∨天堂免| 亚洲国产精品va在线| 日韩不卡在线观看| 国产视频精品一区二区三区| 成人字幕网zmw| 亚洲欧美日本精品| 深夜福利亚洲导航| 色av吧综合网| 亚洲国产精品va| 国产有码在线一区二区视频| 九九热r在线视频精品| 欧美在线视频在线播放完整版免费观看| 久久伊人免费视频| 在线播放国产一区中文字幕剧情欧美| 日韩成人免费视频| 国产主播精品在线| 欧美日韩在线视频一区二区| 成人黄色av网站| 精品久久国产精品| 国产精品自拍偷拍| 日韩风俗一区 二区| 日韩福利视频在线观看| 久久精品亚洲94久久精品| 亚洲欧美国产另类| 日本道色综合久久影院| 亚洲欧美国产一本综合首页| 伊人久久精品视频| 亚洲精品福利资源站| 久久国产色av| 欧美激情一区二区三区久久久| 国产精品亚洲精品| 4p变态网欧美系列| 91av视频在线免费观看| 亚洲国产毛片完整版| 欧美精品在线免费观看| 亚洲国产91色在线| 国产亚洲精品久久| www.日韩欧美| 91国自产精品中文字幕亚洲| 久久久亚洲精品视频| 久久天天躁狠狠躁夜夜躁2014| 国产精品入口免费视| 亚洲自拍欧美另类| 秋霞午夜一区二区| 日韩视频中文字幕| 国产日韩中文字幕在线| 中文字幕日韩欧美在线视频| 成人福利在线视频| 亚洲精品日韩激情在线电影| 欧美在线视频a| 成人日韩av在线| 久久久久国产一区二区三区| 米奇精品一区二区三区在线观看| 色悠久久久久综合先锋影音下载| 久热精品视频在线观看| 中文字幕日韩视频| 国产福利精品视频| 国产经典一区二区| 国产不卡在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 在线看日韩av| 日韩视频在线免费| 日韩av影片在线观看| 91久久精品视频| 亚洲精品美女久久久| 国产精品久久久久久久久久三级| 国产精品小说在线| 在线电影av不卡网址| 欧美理论电影在线观看| 在线丨暗呦小u女国产精品| 欧美大尺度在线观看| 亲爱的老师9免费观看全集电视剧| 亚洲成人免费在线视频| 在线观看免费高清视频97| 国产精品久久久久久久电影| 国产精品高潮呻吟久久av野狼| 精品中文字幕在线2019| 亚洲国产女人aaa毛片在线|