SpringBoot原始碼分析

2021-10-23 18:50:47 字數 1239 閱讀 8970

public

class

}第乙個引數 resourceloader:資源載入器

第二個引數 primarysources:載入的主要資源類

@suppresswarnings()

public

(resourceloader resourceloader, class<

?>..

. primarysources)

deducefromclasspath方法的實現:(

)for

(string classname : servlet_indicator_classes)}}

public

//非 web 專案

none,

//servlet web 專案

servlet,

//響應式 web 專案

reactive;

}springboot的啟動類

(string.

.. args)

, context)

;// 10、準備應用上下文

preparecontext

printedbanner)

;// 11、重新整理應用上下文

refreshcontext

(context)

;// 12、應用上下文重新整理後置處理

afterrefresh

;// 13、停止計時監控類

stopwatch.

stop()

;// 14、輸出日誌記錄執行主類名、時間資訊if(

this

.logstartupinfo)

// 15、發布應用上下文啟動完成事件

listeners.

started

(context)

;// 16、執行所有 runner 執行器

callrunners;}

catch

(throwable ex)

trycatch

(throwable ex)

// 18、返回應用上下文

啟動詳情:

Spring Boot 原始碼分析

1 專案初始化過程 springboot啟動類 springboot的啟動很簡單,如下 public static void main string args this.resourceloader resourceloader initialize sources private void ini...

spring boot原始碼分析

spring boot關鍵流程分析 進入preparecontext方法 轉化成beandefiniton類,註冊到spring 的beandefintionmap容器 enableautoconfigurationimportselector類,其父類裡面 這裡利用spring的功能,動態載入配置...

原始碼分析SpringBoot啟動

none,不是web專案 servlet,是web專案 reactive 之後新加的,響應式專案 private collectiongetspringfactoriesinstances classtype,class parametertypes,object.args 首先得到classloa...