一、圖例

對照上面的圖,我們回想上一篇中幾個代碼的實作,在沒有set注入之前,代碼運行完全由Service層控制,用戶沒有選擇權,選擇權在程式員手中;但是使用set注入之后,用戶可以主動控制service層要執行帶代碼,具體執行由用戶自己選擇,
二、本質
控制反轉(IoC)是一種設計思想,DI(Dependency Injection依賴注入)是實作IoC的一種方法,在沒有IoC的程式中,物件的創建以及物件之間的依賴完全在硬編碼在程式中,物件的創建是由程式自己控制,是一成不變的(是指在不修改代碼的前提下無法改變);但在有IoC的程式中,物件的的創建由第三方控制,我們無需對代碼做出更改即可使程式的執行發生變化,
IoC是Spring框架的核心內容,他有多種方式實作,可以通過XML檔案配置、可以使用注解,在新版本Spring中甚至不需要配置也可以實作IoC,
Spring容器在初始化時先讀取組態檔,根據組態檔創建物件并存入IoC容器中,使用時再從IoC中獲取物件,下圖是官方的一個圖,就是具體的一個程序:
下圖顯示了 Spring 作業原理的高級視圖,應用程式類與配置元資料相結合,以便在創建和初始化 后,您就擁有一個完全配置且可執行的系統或應用程式,ApplicationContext

采用XML方式配置Bean的時候,Bean的定義資訊和實作是分離的;而采用注解二者是結合在一起的,Bean通過注解將定義資訊定義在實作類中,可以達到零配置的目的,
控制反轉是一種通過描述(XML或注解)并通過第三方去生產或獲取特定物件的方式,在Spring中,實作控制反轉的是IoC容器,實作方法是依賴注入(DI),
(本文僅作個人學習記錄用,如有紕漏敬請指正)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/509075.html
標籤:Java
下一篇:AOP實作系統告警
