天天看點

Spring5(2)——IOC詳解

目錄 1,簡介; 2,使用Spring如何管理bean;
IOC(控制反轉:Inverse of Control ),又稱作依賴注入,是一種重要的面向對象程式設計的法則來削減計算機程式的耦合問題,也是輕量級的 Spring 架構的核心。

 下面用執行個體講一下,什麼叫控制反轉。

我們定義一個ZhangSan類:

再定義一個JavaWork類,包含Zhangsan類:

最後測試類:

運作結果:

Spring5(2)——IOC詳解
這是一個簡單的類調用方法,但是這個JavaWork和人ZhangSan是完全耦合在一起的; 如果說我還有另外一個人也要參加測試,那麼隻能在JavaWork裡面進行再次修改代碼;

另外建立一個lisi類;

當要lisi做測試時,隻能在JavaWork裡面繼續進行修改代碼:

測試類代碼不變:

結果:

Spring5(2)——IOC詳解
分析一下,這樣修改會改變很多代碼,執行效率不高; 我們怎麼樣能修改一下這種實作的方式,讓代碼效率更高呢?

 我們先來定義一個接口:

并且讓所有參與測試的人員都實作這個接口:

 在JavaWork裡面定義一個測試對象tester;

這樣我們在最終的測試類裡面,把張三這個對象傳入進去;

Spring5(2)——IOC詳解
這樣就實作了控制反轉! 控制權在我們自己傳入的對象裡面,也就是在自己手裡

我們先在bean.xml配置檔案裡面寫幾個bean;

另外的測試類:

注意這裡的bean裡面的id就是bean.xml配置檔案的javaWork
Spring5(2)——IOC詳解

如果想換成李四測試,那麼直接修改bean.xml裡面的ref值就可以了,簡單友善!

歡迎關注我的微信公衆号《程式員的時光》,感激不盡!

Spring5(2)——IOC詳解