SpringMVC框架的一些底層

2021-08-07 10:16:45 字數 2480 閱讀 5986

類結構圖

首先看一下這個結構圖,dispatcherservlet是springmvc的核心控制器,他遵循了servlet規範.

雖然現在是乙個高大上的框架,但是這三個重要方法肯定是不能忽視的..

第一步:初始化位於httpservletbean當中的init()方法,因為他是對接servlet容器體系中傳入進來的引數.首先先看一下httpservletbean中的init()方法:

public

final

void

init() throws servletexception

//配置檔案的資訊在servletconfig中,用這個來初始化springmvc框架.

//requiredproperties,必須的引數屬性,如果沒有,拋異常.

//模版方法,讓子類frameworkservlet具體實現

//初始化springmvc框架的bean元件 controller... 九大元件

this.initservletbean();

if(this.logger.isdebugenabled())

}

第二步:初始化bean元件

protected

final

void

initservletbean() throws servletexception

......}}

獲取spring的根上下文.

根據當前的springmvc上下文:

不為空,進行設定雙親環境,重新整理(將spingmvc上下文啟用);

為空,建立springmvc上下文,設定雙親環境,配置資訊載入,重新整理(將spingmvc上下文啟用).

//構造springmvc的上下文環境

if(!cwac.isactive())

//啟用!}}

}if(wac == null)

if(wac == null)

if(!this.refresheventreceived)

if(this.publishcontext)

}return wac;

}

在frameworkservlet中有個內部類contextrefreshlistener 用於監聽

private

class

contextrefreshlistener

implements

public}}

public

void

this.refresheventreceived = true;

}

//獲取建立型別

class> contextclass = this.getcontextclass();

if(this.logger.isdebugenabled())

throw

} else

}

protected

void

this.initstrategies(context);

}

初始化spingmvc上下文環境的九大元件…

關於SpringMVC的一些想法

view 主要分為乙個 自定義的和系統的 根據spring最核心的功能ioc 或者說di 依賴注入,可以看出spring主要是幫助你管理你的類例項的,也就是說spring是乙個容器,容器在啟動的時候,會根據你在配置檔案裡的配置類裝配你的類,以及處理各個類例項之間的依賴關係。物件的生命週期都由spri...

spring mvc 的一些狀態碼

1xx 資訊,請求收到,繼續處理。範圍保留用於底層http的東西,你很可能永遠也用不到。2xx 成功,行為被成功地接受 理解和採納 3xx 重定向,為了完成請求,必須進一步執行的動作 4xx 客戶端錯誤,請求包含語法錯誤或者請求無法實現。範圍保留用於響應客戶端做出的錯誤,例如。他們提供不良資料或要求...

spring MVC 容器載入bean的一些實踐

以下為本人實測,本人新手,只為自己學習,如能幫到他人,不勝榮幸,如有錯誤,敬請提醒,如有相似,請勿以抄襲漫罵!謝謝 實測用的是spring 4.0.6.release版本 現在的springmvc 已經支援在配置xml檔案配置bean以及在類中用註解方式配置bean,以下簡稱 xml配置bean 和...