Spring初始化 啟動過程

2021-08-03 03:58:25 字數 1268 閱讀 8816

為了讓web容器啟動時,也初始化spring,則需要在web.xml中配置***contextloaderlistener,web容器啟動時觸發***,初始化spring

org.springframework.web.context.contextloaderlistener  

1. contextloaderlistener繼承了contextloader,contextloader中有靜態**塊

public class contextloaderlistener extends contextloader implements servletcontextlistener
建立乙個子類例項(new ***class()),執行過程:

父類靜態**塊—>

子類靜態**塊—>

主方法(執行哪個程式就執行哪個程式的主方法)—>

父類非靜態**塊—>

父類無參建構函式—>

子類非靜態**塊—>

子類無參建構函式(若實際子類執行的是有參建構函式,則不執行無參建構函式)—>

成員函式(指定執行哪個就執行哪個成員函式,若重寫了父類成員函式,則只執行子類的成員函式)

2. 所以在建立contextloaderlistener例項時,先執行了父類contextloader中的靜態**塊:

/**

* 類路徑資源的名稱(相對於contextloader類)

* 定義了contextloader的預設策略名稱。

*/private static final string default_strategies_path = "contextloader.properties";

private static final properties defaultstrategies;

// 靜態**塊在類載入時載入

引數defaultstrategies用於沒有在web.xml中配置spring上下文的實現類,就會從defaultstrategies獲取預設的上下文實現類

Linux啟動過程以及初始化

linux系統啟動 post加電自檢 硬體檢查 引導引導程式bios boot sequence 找到主引導記錄 mbr 引導引導程式檢查分割槽表並找到乙個可引導的分割槽 載入對應引導上的mbr bootloader 引導引導程式將所選作業系統的核心載入到記憶體中 引導引導程式將核心和乙個初始的基於...

C OS II的初始化和啟動過程

初始化和啟動都在main函式裡實現。int main void 1 初始化 為了完成自身的工作,c os ii定義了大量的全域性資料結構,要讓系統跑起來,需要先初始化各種需要的全域性變數。void osinit void os首先initialize了任務控制塊 事件控制表,還有一些條件編譯的初始化...

spring 解析初始化過程

1.xmlbeandefinitionreader 讀取解析檔案 解析encodedresource 編碼,校驗dtd,xsd,可以手動配置,沒有配置自動檢測,檢測方法有沒有doctype resolveentity 本地dtd 檔案頭 publicid systemid 忽略介面 beanname...