教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

什么是依賴注入?如何理解依賴注入?

更新時間:2020年12月17日18時14分 來源:傳智教育 瀏覽次數(shù):

DI的全稱是Dependency Injection,中文稱之為依賴注入。它與控制反轉(IoC)的含義相同,只不過這兩個稱呼是從兩個角度描述的同一個概念。對于一個Spring初學者來說,這兩種稱呼很難理解,下面我們將通過簡單的語言來描述這兩個概念。

當某個Java對象(調用者)需要調用另一個Java對象(被調用者,即被依賴對象)時,在傳統(tǒng)模式下,調用者通常會采用“new 被調用者”的代碼方式來創(chuàng)建對象,如圖1所示。這種方式會導致調用者與被調用者之間的耦合性增加,不利于后期項目的升級和維護。

依賴注入01

圖1 調用者創(chuàng)建被調用者對象

在使用Spring框架之后,對象的實例不再由調用者來創(chuàng)建,而是由Spring容器來創(chuàng)建,Spring容器會負責控制程序之間的關系,而不是由調用者的程序代碼直接控制。這樣,控制權由應用代碼轉移到了Spring容器,控制權發(fā)生了反轉,這就是Spring的控制反轉。

從Spring容器的角度來看,Spring容器負責將被依賴對象賦值給調用者的成員變量,這相當于為調用者注入了它依賴的實例,這就是Spring的依賴注入,如圖2所示。

依賴注入02

圖2 將被調用者對象注入調用者對象


猜你喜歡:

Bootstrap簡介,如何下載和使用Bootstrap?

變量是什么?JavaScript變量的命名聲明與賦值講解

Dreamweaver操作界面和常用功能介紹【web前端文章】

黑馬程序員前端培訓課程 

傳智播客前端培訓課程 

0 分享到:
和我們在線交談!