Spring元件和IOC容器

2021-07-22 08:41:32 字數 2125 閱讀 6448

主要完成三個功能,在spring中好比乙個演員的角色:

1、bean的建立:由beanfactory完成

2、bean的定義:由beandefinition完成

3、bean的解析:由beandefinitionreader完成

該元件提供了spring的基本執行環境,在spring中好比乙個舞台的角色,它主要是發現和管理bean之間的依賴關係,實際上就是作為spring的ioc容器。

主要有完成對外部資源檔案的訪問的功能(resource),在spring中好比乙個道具的角色。

前三說到三大元件都是什麼角色,一句話總結,乙個演員在好的舞台上,有好的道具,想要演一出好戲,就需要spring的一些好的節目來吸引觀眾,spring特性就好比乙個精心編排的節目。

ioc是乙個很大的概念,首先ioc最重要的就是完成了,物件的建立以及管理等,ioc包含兩種型別,依賴注入(denpendency injection) 和 依賴查詢(denpendecy lookup),其中di被常用。

這種依賴於注入機制正是ioc容器來控制的。

其實ioc就是spring三個核心元件中的context元件,它負責發現和管理bean之間的依賴關係,都是實現或繼承了beanfactory與reousrce。

上節已經說了,ioc主要是對物件的建立和管理等,控制反轉在我的理解就是,當乙個業務類,需要其他類輔助的情況下,那麼我們需要手動new出來輔助類的物件,而ioc則需要我們,只要告訴容器要乙個什麼樣的物件,至於這個物件是如何建立的、如何管理物件的關係,這些我們都不用在關心了,直接應用這個物件就可以了,那麼這個過程中,實際上就叫做控制反轉。

是乙個訪問資源策略的乙個物件.

方法

1、getinputstream():該方法可以定位並且開啟建立例項載入的資源,返回資源對應的輸入流。該方法每呼叫乙個都會new乙個流,為了避免資源浪費。呼叫者必須負責關閉輸入流。

2、isopen():該方法判斷資源是否開啟,檔案可以設定成是否可以多次讀取,如果不能,為了避免記憶體洩漏問題,請手動顯示關閉。

3、exists():該方法判斷resource指向的資源檔案是否存在。

4、還幾個不經常用。。。暫不一一枚舉。

實現類:

1、urlresource:用來訪問網路資源的物件,建立例項物件時可以傳入file物件,以及string 型別的字串,會丟擲乙個異常該異常是ioexception的子類。其中:可以判斷http和ftp,前者可以訪問http協議的資源,後者可以訪問ftp協議的資源。

2、classpathresource:用來訪問類載入路徑裡面的資源,可以讀取一些自己配置的檔案。

3、filesystemsource:可以訪問檔案系統裡面的配置檔案。

4、servletcontextresource:可以載入自己配置的servletcontext 裡面的配置檔案。

用來抽象和描述乙個具體的bean物件,描述乙個bean物件的基本資料結構,屬於bean元件中的bean的定義階段。

對外部的資源物件,描述成統一的內部bean物件,相當於轉化beanrefinition不同的外部資源物件對應的reader也不同,例如 xml 檔案就需要xmlbeandefinition來進行讀取。

用來定義乙個純粹的bean容器,是乙個bean容器必備的結構。隔離外部應用,是bean元件中重要的組成部分,屬於bean的建立,beanrefinition 是它的基本資料結構。
首先他們在spring元件中所屬元件不同,扮演的角色也不同。

前者可以支援不同的資訊員,國際化支援

基於resource和resourceloader的基礎上訪問不同的資源

只是自己的初步了解和學習,可能順序比較混亂,如果錯誤或者與其他人有出入請包涵。。。

Spring 1 IOc容器註冊元件方式

ioc容器註冊元件方式 1.包掃瞄 註解形式 component,service,controller,repository 1.componentscan componentscans filter 2.scope lazy 作用域與懶載入 3.conditional class 註冊條件過濾 2...

Spring學習 IOC容器 xml

1.xml檔案配置 2.註解 commons logging 1.2 bin spring framework 4.3.0.release dist匯入到專案 建立乙個類,用來完成對spring配置檔案的載入和銷毀 所有的單元測試類都必須繼承自上類,並且都必須加註解 runwith blockjun...

spring入門之IOC容器

ioc 其思想是反轉資源獲取的方向,傳統的資源查詢方式要求元件向容器發起請求查詢資源,作為回應,容器適時的返回資源 應用ioc後,容器主動地將資源推送給它所管理的元件,元件選擇一種合適的方式來接受資源 di 是ioc的另一種表達方式 即元件以一些預先定義好的方式 例如setter方法 接受來自容器的...