1. 程式人生 > >不懂SpringApplication生命週期事件?那就等於不會Spring Boot嘛

不懂SpringApplication生命週期事件?那就等於不會Spring Boot嘛

> 學習方法之少廢話:吹牛、裝逼、叫大哥。 > **作者**:A哥(YourBatman) > **公眾號**:BAT的烏托邦(ID:BAT-utopia) > **文末是否有彩蛋**:有 [TOC] ![](https://img-blog.csdnimg.cn/20200706232309173.png#x240) # 前言 各位小夥伴大家好,我是A哥。本文屬總結性文章,對總覽`Spring Boot`生命週期**很是重要**,建議點在看、轉發“造福”更多小夥伴。 我最近不是在寫Spring Cloud深度剖析的相關專欄麼,最近有收到小夥伴發過來一些問題,通過這段時間收集到的反饋,總結了一下有一個問題非常集中:那便是對Spring Boot應用`SpringApplication`的生命週期、事件的理解。有句話我不是經常掛嘴邊說的麼,你對Spring Framework有多瞭解決定了你對Spring Boot有多瞭解,你對Spring Boot的瞭解深度又會制約你去了解Spring Cloud,一環扣一環。因此此問題反饋比較集中是在清理之中的~ 為何在Spring Boot中生命週期事件機制如此重要?緣由很簡單:Spring Cloud父容器是由該生命週期事件機制來驅動的,而它僅僅是一個典型代表。**Spring Cloud構建在Spring Boot之上**,它在此基礎上構建並添加了一些“Cloud”功能。應用程式事件`ApplicationEvent`以及監聽`ApplicationListener`是Spring Framework提供的擴充套件點,Spring Boot對此擴充套件點利用得非常充分和深入,並且還衍生出了非常多“子”事件型別,甚至**自成體系**。從`ApplicationEvent`衍生出來的子事件型別非常多,例如`JobExecutionEvent、RSocketServerInitializedEvent、AuditApplicationEvent...` 本文並不會對每個子事件分別介紹(也並無必要),而是集中火力主攻Spring Boot最為重要的一套事件機制:**SpringApplication生命週期的事件體系**。 ![學習去...](https://img-blog.csdnimg.cn/20200426082403185.png#x240) --- # 正文 本文將以`SpringApplication`的啟動流程/生命週期各時期發出的Event事件為主線,結合每個生命週期內**完成的大事記**介紹,真正實現一文讓你總覽Spring Boot的全貌,這對你**深入理解Spring Boot,以及整合進Spring Cloud都將非常重要**。 為表誠意,本文一開始便把`SpringApplication`生命週期事件流程圖附上,然後再精細化講解各個事件的詳情。 > 話外音:趕時間的小夥伴可以拿圖走人