前言
本篇題材仍然是源於肥朝粉絲在面試中遇到的問題

坦白說,每天的訊息挺多的,經常看不過來.正當我肥手即將要把聊天視窗划走時,他用簡短的幾句話,徹底打動了我!


直入主題
該問題,我們可以採用小學語文老師教給我們寫作文的常用套路,總分總
總
SpringApplication.run
一共做了兩件事,分別是
-
建立
SpringApplication
物件 -
利用建立好的
SpringApplication
物件,呼叫run
方法

分
1.建立SpringApplication
物件

2.呼叫run
方法

總
太多類名什麼的記不住?沒關係.上述內容都給你總結好了:
面試官: 我看到你簡歷上寫著熟悉SpringBoot,那你講一下,SpringApplication.run都做了些什麼?
肥朝公眾號粉絲: SpringApplication.run一共做了兩件事,一件是建立SpringApplication物件,在該物件初始化時,找到配置的事件監聽器,並儲存起來.第二件事就是執行run方法,此時會將剛才儲存的事件監聽器根據當前時機觸發不同的事件,比如容器初始化,容器建立完成等.同時也會重新整理IoC容器,進行元件的掃描、建立、載入等工作.這兩件事我都看過原始碼,我分別給你畫個圖細緻講一講.
面試官:

肥朝 是一個專注於 原理、原始碼、開發技巧的技術公眾號,號內原創專題式原始碼解析、真實場景原始碼原理實戰(重點)。掃描下面二維碼關注肥朝,讓本該造火箭的你,不再擰螺絲!
