IOC:控制反轉
拋開語言和框架,先從一個通俗的例子來了解。租客租房,小王是需要三室一廳的一個房源,也就是説小王依賴這個房源。傳統的做法是小王自己跑街串巷去尋找房源,這裏就是我們理解的控制。
而springIOC是怎麼做的呢?
所有的租客和房源都會在中介註冊信息,而這時租客只需要申明我需要一個三室一廳的房源,那麼中介會自動將對應的房源交到租客的手上。整個過程不再由租客主導控制,而是交由中介這樣的三方容器控制。
控制指的是什麼?就是程序中的對象(小王)對依賴對象(房源)的控制,控制對依賴對象的獲取。
而反轉呢就是反轉對依賴對象的控制,交由第三方spring容器進行控制。
DI:依賴注入
DI和IOC是對同一思想的不同詮釋,一句話就是被注入對象依賴IoC容器配置依賴對象。