一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - spring boot之SpringApplication 事件監聽

spring boot之SpringApplication 事件監聽

2019-06-24 23:06posuoren Java教程

這篇文章主要介紹了spring boot之SpringApplication 事件監聽,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

spring application listener

在 spring 框架中,有多種事件, 這些時間會在不同的運行時刻發布,來通知監聽者。本文僅僅介紹 SpringApplicationEvent 的事件的監聽。

事件類型

 

EventType 發布時間
ApplicationContextInitializedEvent 在 SpringApplication正在啟動, ApplicationContext 已經準備好了,ApplicationContextInitializers 被調用, bean definitions 被加載之前
ApplicationStartingEvent 在一次啟動之前發布
ApplicationEnvironmentPreparedEvent 在 Environment 準備好之后,會有 context 去使用這一 Environment, 會在 context 創建之前發出
ApplicationPreparedEvent 會在 bean definitions 加載之后,refresh 之前發布
ApplicationStartedEvent context 更新之后,任何應用或命令行啟動調用之前
ApplicationReadyEvent 任何應用或命令行啟動調用之后發布,說明應用已經可以被請求了
ApplicationFailedEvent 啟動發生有異常時發步

 

如何監聽

監聽器需要使用 org.springframework.context.ApplicationListener 這個接口的實例, 其聲明如下:

@FunctionalInterface
public interface ApplicationListener<E extends ApplicationEvent> extends EventListener {
  /**
  * Handle an application event. * @param event the event to respond to
  */ 
 void onApplicationEvent(E event);
}

需要使用 SpringApplication.addListeners(…?) 或 SpringApplicationBuilder.listeners(…?) 來添加監聽器。也可以在 META-INF/spring.factories 文件中配置:org.springframework.context.ApplicationListener=com.example.project.MyListener。

例子:

public class StartingEventListener implements ApplicationListener<ApplicationStartingEvent> {
 @Override
 public void onApplicationEvent(ApplicationStartingEvent applicationStartingEvent) {
  System.out.println("called own starting listener");

  System.out.println(applicationStartingEvent.getClass());
 }
}

@SpringBootApplication
public class DemoApplication {
 public static void main(String[] args){
  SpringApplication application = new SpringApplication(DemoApplication.class);
  application.addListeners(new StartingEventListener());
  application.run(args);
 }
}

終端運行 jar 包:

$ java -jar build/libs/springlisteners-0.0.1-SNAPSHOT.jar
called own starting listener
class org.springframework.boot.context.event.ApplicationStartingEvent

 .  ____     _      __ _ _
 /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/ ___)| |_)| | | | | || (_| | ) ) ) )
 ' |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::    (v2.1.3.RELEASE)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜国产理论 | 四虎影剧院 | 色777777女人色 | 777奇米影视一区二区三区 | 男人天堂网页 | 久9青青cao精品视频在线 | 亚洲情欲网 | 校花小雪灌满了男人们的浓浆 | 国模丰满美女冰漪34d | 禁忌h1v1怀孕 | 2019自拍偷拍视频 | 亚洲无线一二三四区 | 亚洲zooz人禽交xxxx | a色在线 | 日本高清动作片www欧美 | 亚洲香蕉伊在人在线观婷婷 | 欧美久久综合网 | 岛国片免费观看 | 白丝出水 | 日产欧产va高清 | 无人区乱码区1卡2卡三卡在线 | 精品91自产拍在线观看99re | 久久这里只精品国产99re66 | 亚洲大片免费看 | 三级网站午夜三级 | 欧美式禁忌 | 奇米影视7777久久精品 | 国产私拍精品88福利视频 | 东京干福利 | 丝袜兔女郎被啪在线观看91 | 国产精品福利在线观看秒播 | 成人中文字幕在线高清 | 2021精品国夜夜天天拍拍 | 日韩一级片在线播放 | 波多野结衣在线观看视频 | 亚洲va国产日韩欧美精品色婷婷 | 国产在线拍 | 天堂成人在线观看 | 精品国产品国语在线不卡丶 | 国产精品一级片 | 俄罗斯女人与公拘i交酡 |