多圖詳解Spring框架的設計理念與設計模式3

2021-03-04 01:13:06 字數 1307 閱讀 7327

bean的定義主要有beandefinition描述,如下圖說明了這些類的層次關係:

圖5.bean定義的類層次關係圖

bean的定義就是完整的描述了在spring的配置檔案中你定義的節點中所有的資訊,包括各種子節點。當spring成功解析你定義的乙個節點後,在spring的內部他就被轉化成beandefinition物件。以後所有的操作都是對這個物件完成的。

bean的解析過程非常複雜,功能被分的很細,因為這裡需要被擴充套件的地方很多,必須保證有足夠的靈活性,以應對可能的變化。bean的解析主要就是對spring配置檔案的解析。這個解析過程主要通過下圖中的類完成:

圖6.bean的解析類

當然還有具體對tag的解析這裡並沒有列出。

context元件

context在spring的包下,前面已經講解了context元件在spring中的作用,他實際上就是給spring提供乙個執行時的環境,用以儲存各個物件的狀態。下面看一下這個環境是如何構建的。

applicationcontext是context的頂級父類,他除了能標識乙個應用環境的基本資訊外,他還繼承了五個介面,這五個介面主要是擴充套件了context的功能。下面是context的類結構圖:

圖相關的類結構圖

從上圖中可以看出applicationcontext繼承了beanfactory,這也說明了spring容器中執行的主體物件是bean,另外applicationcontext繼承了resourceloader介面,使得applicationcontext可以訪問到任何外部資源,這將在core中詳細說明。

applicationcontext的子類主要包含兩個方面:

configurableapplicationcontext表示該context是可修改的,也就是在構建context中使用者可以動態新增或修改已有的配置資訊,它下面又有多個子類,其中最經常使用的是可更新的context,即 abstractrefreshableapplicationcontext類。

webapplicationcontext顧名思義,就是為web準備的context他可以直接訪問到servletcontext,通常情況下,這個介面使用的少。

再往下分就是按照構建context的檔案型別,接著就是訪問context的方式。這樣一級一級構成了完整的context等級層次。

總體來說applicationcontext必須要完成以下幾件事:

◆標識乙個應用環境

◆利用beanfactory建立bean物件

◆儲存物件關係表

◆能夠捕獲各種事件

context作為spring的ioc容器,基本上整合了spring的大部分功能,或者說是大部分功能的基礎。

多圖詳解空氣能熱幫浦工作原理

對熱幫浦不是很了解的人來說,提到空氣能熱幫浦,多少有些神秘色彩,那麼如何理解空氣能熱幫浦呢,下面我們先從熱幫浦的工作原理來理解空氣能熱幫浦。熱幫浦是一種從低溫熱源吸取熱量,使其在較高溫度下轉換為可以利用能源的裝置 或者說是一種可以利用低品位熱能的系統。它可以用大氣及土壤中的太陽潛能 以空氣為能源,即...

十八圖詳解四種水果的

十八圖詳解四種水果的水果拼盤切法 又到了雙休週末,相信很多親們會邀上三五知己或是親朋好友來家做客。大快朵頤之後,再端上一碟造型生動 形態各異 色彩艷麗的水果拼盤,既能消滯和胃 增進食慾,又能美化宴席 烘托氣氛 增進友誼。給人帶來一種美的感受。水果拼盤的切法並不難,只需掌握一些入門技巧,舉一反三,自己...

828日《電路系統圖的詳解》記錄

中服聯盟 終端設計 討論主題 電路系統圖的詳解 討論時間 2012年8月28日上午 本群實際人員 308人 主題參與人員 24人 豫 空間 費尼粵 設計 林豫 零售 peter 遼 設計 brian 閩 空間 小吳 浙 設計 多彩滬 設計 alione 粵 空間 cool 閩 空間 komo 閩 技...