Spring的優點及DI和Ioc的區別

2021-09-17 05:33:51 字數 891 閱讀 6590

1.使用spring的ioc容器,將物件之間的依賴關係交給spring,降低元件之間的耦合性,讓我們更專注於應用邏輯

2.可以提供眾多服務,事務管理,ws等。

3.aop的很好支援,速食麵向切面程式設計。

4.對主流的框架提供了很好的整合支援,如hibernate,struts2,jpa等

5.spring di機制降低了業務物件替換的複雜性。

6.spring屬於低侵入,**汙染極低。

7.spring的高度可開放性,並不強制依賴於spring,開發者可以自由選擇spring部分或全部 di和ioc的區別: di:稱作依賴注入(dependency

injection),和控制反轉乙個概念,當乙個角色需要另外乙個角色協助的時候,在傳統的程式設計中,通常有呼叫者來建立被呼叫者的例項。但是在spring中建立被呼叫者將不再有呼叫者完成,因此叫控制反轉。建立被呼叫物件有spring來完成,在容器例項化物件的時候主動的將被呼叫者(或者說它的依賴物件)注入給呼叫物件,因此又叫依賴注入。

ioc:稱作控制反轉(inversion of control),主要是控制物件例項的建立;

反轉是相對於正向而言的,那麼什麼算是正向的呢?考慮一下常規情況下的應用程式,如果要在a裡面使用c,你會怎麼做呢?當然是直接去建立c的物件,也就是說,是在a類中主動去獲取所需要的外部資源c,這種情況被稱為正向的。那麼什麼是反向呢?就是a類不再主動去獲取c,而是被動等待,等待ioc/di的容器獲取乙個c的例項,然後反向的注入到a類中。

總的來說:依賴注入和控制反轉是對同一件事情的不同描述,從某個方面講,就是它們描述的角度不同。依賴注入是從應用程式的角度在描述,可以把依賴注入描述完整點:應用程式依賴容器建立並注入它所需要的外部資源;而控制反轉是從容器的角度在描述,描述完整點:容器控制應用程式,由容器反向的向應用程式注入應用程式所需要的外部資源。

Spring的依賴注入 DI 和控制反轉 IOC

springdi 依賴注入 給屬性賦值就為依賴注入 publicclass person ioc和di做了什麼事情呢?建立物件 給屬性賦值 ioc和di的意義 可以在乙個類中引入乙個介面,而給介面賦值的工作交給spring容器來做,程式設計師只需要在配置檔案做一些配置就可以了,這樣在客戶端做到了完全...

談談Spring的IOC和DI

1.ioc,控制反轉 di,依賴注入。2.ioc意味著將你設計好的物件交給容器控制 建立,銷毀,呼叫 3.di是元件之間依賴關係由容器在執行期決定 4.ioc和di其實是一種思想,並不是具體的技術。5.ioc 和 di 有什麼關係呢?其實它們是同乙個概念的不同角度描述。由於控制反轉概念比較含糊 可能...

Spring 框架的優點及缺點

首先spring 是乙個框架,使用spring並不代表 質量的提高,就像蓋房子選擇用上海的地皮還是北京的地皮一樣,房子質量與土地所在的城市無關,與房子的具體設計方案和選料有關。使用spring 等框架可以簡化很多基礎性的工作,配置好後可以方便構建業務應用。框架使用多了會有侷限的感覺,像小鳥 在籠子裡...