91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring boot中怎么使用SpringApplication實現事件監聽

發布時間:2021-06-11 15:31:56 來源:億速云 閱讀:141 作者:Leah 欄目:編程語言

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 之前發布
ApplicationStartedEventcontext 更新之后,任何應用或命令行啟動調用之前
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)

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建阳市| 堆龙德庆县| 墨江| 清水河县| 高清| 拉孜县| 临洮县| 文安县| 九龙县| 吉安县| 花莲县| 南汇区| 桐梓县| 陇南市| 香河县| 公主岭市| 潢川县| 翼城县| 常熟市| 社旗县| 会东县| 株洲市| 博爱县| 揭西县| 定陶县| 蚌埠市| 大同县| 甘孜| 大悟县| 阿尔山市| 镇沅| 衡阳县| 平乡县| 南充市| 乌拉特后旗| 本溪市| 宜宾县| 太仆寺旗| 舞阳县| 玛纳斯县| 衡水市|