1. 程式人生 > >淺談對Spring IOC容器的理解

淺談對Spring IOC容器的理解

看過很多關於Ioc容器的文章,自我理解。

首先,Ioc即“控制反轉”,是一種設計思想。

1、在Java開發中,Ioc意味著將你設計好的物件交給容器控制,而不是傳統的在你的物件內部直接控制。

2、傳統Java SE程式設計,我們直接在物件內部通過new進行建立物件,是程式主動去建立依賴物件;而IoC是有專門一個容器來建立這些物件,即由Ioc容器來控制對 象的建立;IoC 容器控制了物件,也就是主要控制了外部資源獲取(不只是物件包括比如檔案等)。

3、有反轉就有正轉,傳統應用程式是由我們自己在物件中主動控制去直接獲取依賴物件,也就是正轉;而反轉則是由容器來幫忙建立及注入依賴物件;為何是反轉?因為由容器幫我們查詢及注入依賴物件,物件只是被動的接受依賴物件,所以是反轉;哪些方面反轉了?依賴物件的獲取被反轉了。

下面用兩張圖來展示傳統應用程式和IOC容器的區別