spring 載入入口

2021-10-09 17:09:27 字數 2365 閱讀 5369

版本:5.2.8

實現了servletcontextlistener介面,可以在servletcontext建立時執行contextinitialized方法;

繼承了contextloader類,主要的業務邏輯寫在這個父類中,此處沒有放到乙個類中寫,做到了分離;

類載入的時候執行的初始化,載入當前類路徑的乙個名為contextloader.properties檔案到defaultstrategies裡;

)// 實際的載入處理在這個方法中

(cwac, servletcontext);}

}// 把這個context存到servletcontext中,與之前的先判斷是否存在相對應

servletcontext.

setattribute

this

.context)

; classloader ccl = thread.

currentthread()

.getcontextclassloader()

;if(ccl == contextloader.

class

.getclassloader()

)else

if(ccl != null)

if(logger.

isinfoenabled()

)return

this

.context;

}catch

(runtimeexception

| error ex)

}(servletcontext sc)

return

instantiateclass

(contextclass);}

protected class<

?>

determinecontextclass

(servletcontext servletcontext)

catch

(classnotfoundexception ex)

}else

catch

(classnotfoundexception ex)

}}

protected

void

else

} wac.

setservletcontext

(sc)

;// 獲取在web.xml中配置的spring配置檔名

string configlocationparam = sc.

getinitparameter

(config_location_param);if

(configlocationparam != null)

configurableenvironment env = wac.

getenvironment()

;if(env instanceof

configurablewebenvironment

)customizecontext

(sc, wac)

;// 載入bean

Spring 資源載入

pom.xml org.springframework spring core 4.3.14.release org.springframework spring beans 4.3.16.release org.springframework spring context 4.3.16.relea...

Spring提前載入與懶載入

首先,spring預設是提前載入,這意味著當專案啟動,spring初始化,spring會把所有的掃瞄包下的 所有帶spring 註解 component repository service controller 的類都初始化。注意 當初始化時,會呼叫預設構造方法,即乙個空的構造方法,但當在類中加入...

spring動態載入bean

廢話不多說,直接上 private static final string strs new string protected mapremotes new hashmap for int i 0 i string name one if i 0 beandefinitionbuilder user...