Spring之IOC 控制反轉 原型

2021-10-19 09:37:43 字數 1199 閱讀 5878

在我們之前的業務中,使用者的需求可能會影響我們原來的**,我們需要根據使用者的需求去修改源**!如果程式**量十分大,修改一次的成本代價十分昂貴!

通過例項來認識一下!

public

inte***ce

public

class

implements

}

public

inte***ce

public

class

implements

}

測試類:

@org

.junit.test

public

void

test()

public

class

implements

}

在假設, 我們再增加乙個redis的實現類

public

class

implements

}

如何解決呢?

我們可以在需要使用到它的地方,不去主動建立物件實現它,而是留出乙個介面,提供乙個set方法,通過呼叫不同的程式傳入不同的引數去執行不同的方法

public

class

implements

public

void

use(

)}

測試類:

@org

.junit.test

public

void

test()

控制反轉ioc(inversion of control),是一種設計思想,di(依賴注入)是實現ioc的一種方法,也有人認為di只是ioc的另一種說法。沒有ioc的程式中 , 我們使用物件導向程式設計 , 物件的建立與物件間的依賴關係完全硬編碼在程式中,物件的建立由程式自己控制,控制反轉後將物件的建立轉移給第三方,個人認為所謂控制反轉就是:獲得依賴物件的方式反轉了

ioc的作用:降低程式間的耦合(依賴關係)

Spring之控制反轉(IOC)

目錄 0.面向介面程式設計思想 1.依賴倒置原則與好萊塢原則 2.控制反轉 3.依賴注入 4.spring是如何實現依賴注入的?4.1 beanfactory 4.2 factorybean 面向介面程式設計 不針對實現程式設計,針對超型別程式設計。超型別包括繼承和多型。而依賴倒置原則與好萊塢原則可...

Spring 控制反轉IoC

1,ioc理論背景 在使用物件導向語言開發的系統中,不同物件之間相互協作得以實現業務邏輯。就像是一塊機械手錶,通過不同齒輪的協作,讓時針 分針 秒針精確的執行。如果乙個齒輪發生故障,那麼整塊手錶的功能就要受到影響。手錶齒輪之間的關係和軟體系統中物件的耦合關係很相似。物件之間的耦合關係是必要的,也是無...

spring學習之控制反轉(IOC)

就是負責給我們從容器中獲取指定物件的類。這時候我們獲取物件的 式發 了改變。spring就是 我們的 以前 我們在獲取物件時,都是採 new的 式。是主動的。現在 我們獲取物件時,同時跟 要,有 為我們查詢或者建立物件。是被動的。這種被動接收的 式獲取物件的思想就是 控制反轉,它是spring框架的...