(三)SpringApplication例項化

2021-10-18 03:10:28 字數 1986 閱讀 8007

推斷main方法

參考一般springboot專案啟動的入口為:

public

class

}其中run()方法為:

public

(class<

?> primarysource, string.

.. args)

, args);}

public

(class<

?>

primarysources, string[

] args)

賦值成員變數resourceloader

賦值成員變數primarysources

推斷web應用型別

推斷main方法

public

(class<

?>..

. primarysources)

public

(resourceloader resourceloader, class<

?>..

. primarysources)

可以通過resourceloader指定需要載入的資源路徑,一般採用預設路徑;

傳入的是springboot的入口類,能作為入口類的條件為被@enableautoconfiguration註解;

其中web應用型別一共有三種:

判斷的方法為:

private

static

final string[

] servlet_indicator_classes =

newstring

;()else

}return servlet;

}}

由此可以推斷出三種型別的判斷條件

其中,getspringfactoriesinstances原始碼為:

private

collection

getspringfactoriesinstances

(class

type)

private

collection

getspringfactoriesinstances

(class

type, class<

?>

parametertypes, object.

.. args)

private

list

createspringfactoriesinstances

(class

type, class<

?>

parametertypes, classloader classloader, object[

] args, set

names)

catch

(throwable var12)

}return instances;

}

該方法將例項化的集合向initializers賦值

public

void

setinitializers

(collection<

?extends

<

?>> initializers)

@functionalinte***ce

public

inte***ce

>

extends

eventlistener

private class<

?>()

}}catch

(classnotfoundexception var6)

return null;

}

(《spring boot 技術內幕》)

三消遊戲(三)

後面一些更改就是實現下落下標更改的方法。這個方法要在一開始檢測三色的時候呼叫 with3arr this.filterdelsame with3arr,return with3arrupdatecellfalldownnum function cell 還要刪除陣列裡的相同元素 filterdels...

三周C 總結三

1 陣列概念 陣列名變數代表陣列首位址。定義 int x1 new int 10 string names 2.折半查詢演算法 要求陣列按照大小有序 static int quickfind int arr,int x 形式引數 int index 1 int low 0,high arr.leng...

C 學習(三) 基礎(三)

include using namespace std 1 引用的基本語法 引用 給一段記憶體空間起別名 語法 型別 別名 原名 void test1 注意 1 引用必須要初始化 void test2 2 建立乙個對陣列的引用 1 先定義出陣列的型別,在定義引用 陣列型別定義 typedef int...