spring控制反轉和依賴注入的區別

2021-08-06 06:54:58 字數 770 閱讀 3786

ioc控制反**說的是建立物件例項的控制權從**控制剝離到

ioc容器控制,實際就是你在

xml檔案控制,側重於原理。

di依賴注入:說的是建立物件例項時,為這個物件注入屬性值或其它物件例項,側重於實現。

它們是spring核心思想的不同方面的描述。

di 和

ioc

di和ioc

是差不多的概念。

乙個重要特徵是介面依賴,是把物件關係推遲到執行時去確定.

di是乙個初始化例項的過程,分為三種

1.setter based

2.constructor based

3.inte***ce based,

在spring 中就是應用前兩種

;但又不僅僅是初始化例項,而且是運用介面的概念去實現這種注入依賴。靜態地看,只是依賴乙個介面,但實際執行起來,是依賴乙個實現了該 介面的具體類。

ioc就是面向介面程式設計的應用

1.乙個通常的做法(非面向介面程式設計的方法),物件

a依賴物件b,

b會作為

a的屬性,可以理解為

a直接控制

b; 2.ioc的做法,物件

a依賴於介面

c,而不直接依賴於實現了介面c的

b,也就是

a不能直接控制是哪個具體實現了c的

b去做相應的事情,而是由我們控制可以由哪個實現了介面c的

b去處理,也就是控制反過來了,是由

b來決定了,而不是由

a,實現就是面向介面程式設計。

spring中控制反轉和依賴注入

spring框架是乙個控制反轉和面向切面的開源框架,主要作用是簡化企業應用開發。一提到spring,大家都會想到控制反轉和依賴注入的概念,關於這兩個概念有很多的解釋。控制反轉就是應用本身不負責依賴物件的建立和維護,依賴物件的建立和維護由外部容器負責,這樣控制權由原先的應用本身轉移到了容器,控制權發生...

Spring之控制反轉和依賴注入

spring之控制反轉和依賴注入 一般的,我們要想得到乙個物件,就把它new出來。在一些複雜的系統中,乙個物件a可能依賴於物件b,c等 表現為a類持有b,c類的物件作為a類的屬性 很多時候,我們並不想在a類中new出b,c的物件,這樣會增加類之間的耦合性。於是,就有了控制反轉 ioc 和依賴注入 d...

Spring之依賴注入 控制反轉

借用李剛老師書中的例子,在原始社會,人要砍柴,那麼他就要自己去製作一把斧子。這樣的方式的耦合度很高,斧子還要原材料,打磨工具等,這樣任何乙個環節的問題,都會導致其他環節的問題,那麼在 中,一旦要修改乙個類的實現時,就可能需要修改一系列的依賴。在工業社會,人要一把斧子,只需要去工廠獲取,它的實現類是對...