轉(zhuǎn)帖|行業(yè)資訊|編輯:郝浩|2016-02-23 10:23:50.000|閱讀 818 次
概述:本篇講解了Spring的總體架構(gòu)中重要組件Core的結(jié)構(gòu)及用途。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Core組件作為Spring的核心組件,他其中包含了很多的關(guān)鍵類,其中一個重要組成部分就是定義了資源的訪問方式。這種把所有資源都抽象成一個接口的方式很值得在以后的設(shè)計中拿來學(xué)習(xí)。下面就 重要看一下這個部分在Spring的作用。
下圖是Resource相關(guān)的類結(jié)構(gòu)圖:
從上圖可以看出Resource接口封裝了各種可能的資源類型,也就是對使用者來說屏蔽了文件類型的不同。對資源的提供者來說,如何把資源包裝起來交給其他人用這也是一個問題,我們看到Resource 接口繼承了InputStreamSource接口,這個接口中有個getInputStream方法,返回的是InputStream類。這樣所有的資源都被可以通過InputStream這個類來獲取,所以也屏蔽了資源的提供者。另外還有一 個問題就是加載資源的問題,也就是資源的加載者要統(tǒng)一,從上圖中可以看出這個任務(wù)是由ResourceLoader接口完成,他屏蔽了所有的資源加載者的差異,只需要實現(xiàn)這個接口就可以加載所有的資源, 他的默認實現(xiàn)是DefaultResourceLoader。
下面看一下Context和Resource是如何建立關(guān)系的?首先看一下他們的類關(guān)系圖:
從上圖可以看出,Context是把資源的加載、解析和描述工作委托給了ResourcePatternResolver類來完成,他相當(dāng)于一個接頭人,他把資源的加載、解析和資源的定義整合在一起便于其他組件使用。 Core組件中還有很多類似的方式。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn