談談對Spring IoC DI的理解

2021-09-24 04:24:50 字數 767 閱讀 3960

多讀多寫多記錄,多學多練多思考。----------- banana.banuit gang(香柚幫)

下面我來說一下個人對spring的控制反轉和依賴注入的理解,如有不足或者不正確的地方,希望大家及時幫我指出來,謝謝。

我們都知道spring的兩大核心就是ioc/di和aop,ioc的好處是進行物件之間的解耦,aop的好處是進行模組或元件之間的解耦,也知道ioc的本質其實就是本來需要在客戶端**中new的物件,全部交給spring進行管理,其中包括建立物件,自動裝配,依賴管理等等,我的理解就是ioc控制反轉這個概念貫穿了我們原本整個new物件的過程,我主要把這個過程分為了兩部分:

注入過程:就是**執行時需要哪個物件,spring就會從容器中取出來(必須是註冊過的類),將他注入到這個物件當中。

在這整個過程中,我們只需要專心於自己的業務邏輯,而不需要去操心什麼時候去建立物件以及這個物件依賴於哪些物件,這些東西全部交給spring容器去操心就好了,需要什麼spring容器會幫你注入什麼,這樣的話,物件與物件之間的依賴性就大大降低,達到了乙個松耦合的狀態,而且利用spring ioc可以更方便的進行單元測試,比如說a依賴於b裡邊的某個方法,而這個方法需要進行資料庫互動最終返回乙個字串,但是你的資料庫又暫時沒辦法連線,這樣的話就沒有辦法測試a,利用spring ioc你可以直接在a裡邊注入乙個字串進行測試。

而對於di這個概念,我認為他只是更加細緻的描述了這個第二步的過程,把他命名為依賴注入。

上邊是我個人對spring ioc和di的理解,下邊貼出來一篇文章,感覺寫的挺明白的。

談談對IT學習的態度

進入it若干年,雖然沒有上過什麼有用的課,但我還是有些心得的,其實也就是拿物理的學習方法來學習it。總結如下 1 永遠不要盲目相信別人的結論性知識 不同的環境下,可能有不同的結論,哪怕是書本上的知識,也不能盲目相信。就拿清華的資料結構書籍來說,說堆排序對於記錄數較少的檔案並不值得提倡,但對於n較大的...

談談對MVC的理解

mvc是一種設計模式,它把應用程式拆分為模型物件,檢視物件,控制器物件三大部分.一.模型物件 模型物件封裝了應用程式的資料,模型物件更改時,會通知控制器物件,控制器物件更新相應的檢視物件.二 檢視物件 檢視物件應用程式中使用者所看得到的,其主要目的是顯示應用程式中模型物件的資料,在應用程式中,所有的...

談談對Spring IOC的理解

spring ioc 控制反轉,也叫依賴注入 di 控制反轉是一種思想,是將原來程式主導變為第三方主導,也就是容器主導,程式需要什麼,容器提供給程式,原來 是 程式需要a類,我們需要建立也就是new a 給程式,通過使用spring ioc 我們可以不用這麼寫,在配置檔案中進行配置便可以了,配置完成...