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

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

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)

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 紧身裙女教师波多野结衣 | 日本高清免费看 | 日本在线亚州精品视频在线 | 北岛玲在线视频 | 免费尤物视频 | 四虎影院4hu | 三体动漫在线观看免费完整版2022 | 亚洲高清免费在线观看 | 91视频破解版| 免费网站看v片在线成人国产系列 | 好姑娘在线完整版视频 | 丰满大乳欲妇三级k8 | 国产极品精频在线观看 | 韩国帅男同gay网站 韩国三级在线播放 | 亚洲电影成人 成人影院 | a级aaaaaaaa毛片| 国产精品欧美韩国日本久久 | 日韩精品视频美在线精品视频 | 亚洲天堂2016| avtt天堂网手机版亚洲 | yjsp妖精视频在线观看免费 | 成人精品一级毛片 | 欧美一级h| 四虎影院免费在线播放 | 四虎影视在线影院在线观看 | 99久久国语露脸精品国产 | 99久久免费国产精品热 | 亚洲免费闲人蜜桃 | 女人是男人的未来1分49分 | 国产精品对白刺激久久久 | 丝瓜草莓香蕉绿巨人幸福宝 | 亚洲欧美一区二区久久 | 9191视频 | 亚洲成人免费观看 | 亚洲a视频在线观看 | 午夜伦理电影在线观免费 | 国产无限 | 青草视频网 | 日韩亚洲人成在线 | 日本xxx在线观看免费播放 | 丝瓜视频看污片 |