天天看點

Spring:Spring核心思想—IOC控制反轉

作者:日拱一卒程式猿

一、什麼是IOC

IoC Inversion of Control (控制反轉/反轉控制),注意它是一個技術思想,不是一個技術實作描述的事情:Java開發領域對象的建立,管理的問題。

傳統開發方式:比如類A依賴于類B,往往會在類A中new一個B的對象。

IoC思想下開發方式:我們不用自己去new對象了,而是由IoC容器(Spring架構)去幫助我們執行個體化對象并且管理它,我們需要使用哪個對象,去問IoC容器要即可。

我們喪失了一個權利(建立、管理對象的權利),得到了一個福利(不用考慮對象的建立、管理等一系列事情)

為什麼叫做控制反轉?

控制:指的是對象建立(執行個體化、管理)的權利

反轉:控制權交給外部環境了(spring架構、IoC容器)

Spring:Spring核心思想—IOC控制反轉

二、IoC解決了什麼問題

IoC解決對象之間的耦合問題

Spring:Spring核心思想—IOC控制反轉

三、 IoC和DI的差別

DI:Dependancy Injection(依賴注入)

怎麼了解:IOC和DI描述的是同一件事情,隻不過角度不一樣罷了。

Spring:Spring核心思想—IOC控制反轉