控制反轉(zhuǎn)(IoC,Inversion of Control),是一個(gè)概念,是一種思想。指將傳統(tǒng)上由程序代 碼直接操控的對象調(diào)用權(quán)交給容器,通過容器來實(shí)現(xiàn)對象的裝配和管理。控制反轉(zhuǎn)就是對對象控制權(quán)的轉(zhuǎn)移,從程序代碼本身反轉(zhuǎn)到了外部容器。通過容器實(shí)現(xiàn)對象的裝配和管理。
IoC 是一個(gè)概念,是一種思想,其實(shí)現(xiàn)方式多種多樣。當(dāng)前比較流行的實(shí)現(xiàn)方式是依賴 注入。應(yīng)用廣泛。
依賴:classA 類中含有 classB 的實(shí)例,在 classA 中調(diào)用 classB 的方法完成功能,即 classA 對 classB 有依賴。
● 依賴查找:DL ( Dependency Lookup ), 容器提供回調(diào)接口和上下文環(huán)境給組件。
● 依賴注入:DI (Dependency Injection),程序代碼不做定位查詢,這些工作由容器自 行完成。
依賴注入 DI 是指程序運(yùn)行過程中,若需要調(diào)用另一個(gè)對象協(xié)助時(shí),無須在代碼中創(chuàng)建被調(diào)用者,而是依賴于外部容器,由外部容器創(chuàng)建后傳遞給程序。
Spring的依賴注入對調(diào)用者與被調(diào)用者幾乎沒有任何要求,完全支持 POJO 之間依賴關(guān)系的管理。
依賴注入是目前最優(yōu)秀的解耦方式。依賴注入讓 Spring 的 Bean 之間以配置文件的方式 組織在一起,而不是以硬編碼的方式耦合在一起的。
Spring框架使用依賴注入(DI)實(shí)現(xiàn)IoC。
Spring容器是一個(gè)超級大工廠,負(fù)責(zé)創(chuàng)建、管理所有的Java對象,這些Java對象被稱為Bean。Spring容器管理著容器中Bean之間的依賴關(guān)系,Spring使用“依賴注入”的方式來管理Bean之間的依賴關(guān)系。使用IoC實(shí)現(xiàn)對象之間的解耦和。
開發(fā)工具:idea2017以上
依賴管理:maven3以上
jdk:1.8以上
需要設(shè)置maven本機(jī)倉庫: