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