為了讓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...