1. 程式人生 > >控制反轉容器之(容器和bean的基本原理)

控制反轉容器之(容器和bean的基本原理)

前言:控制反轉和依賴注入

控制反轉是什麼?是一種設計思想。

控制:IOC容器控制物件,控制外部資源。

反轉:是相對於正轉而言的,正轉就是我們主動去建立物件,而反轉則是我們通過IOC容器被動的建立物件,物件的建立和銷燬都是有IOC容器來控制。相當於控制權不同,之前控制權在主程式的手中,反轉則是控制權在IOC容器的手中。

依賴注入是什麼?

依賴是什麼?:比如說A物件會呼叫B物件中的方法,則此時說明A依賴B。

為什麼需要依賴注入?:通過依賴注入機制,我們可以通過簡單配置來獲取資源,編寫業務層程式碼,而不需要去關注資源來源於何處。

應用程式依賴IOC容器來注入資源。

1.容器和bean的基本原理

1)BeanFactory是IoC容器的核心介面。它的職責包括:例項化定位配置應用程式中的物件及建立這些物件間的依賴

2)Ioc容器來管理一個或者多個bean。

bean:

通過xml來配置元資料(所以常用的XmlBeanFactory是BeanFactory),可以通過配置元資料來對Bean進行定義;

例項化bean(靜態構造方法,靜態工廠方法,動態工廠方法)

Resource resource = new FileSystemResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);

例項化容器(通過beanFactory來例項化容器)

元資料:任何檔案系統中的資料分為資料和元資料,資料就是我們所看到的資料,而元資料指用來描述一個檔案的特徵的系統資料,諸如訪問許可權、檔案擁有者以及檔案資料塊的分佈資訊(inode...)等等)。

bean的定義:

  • 全限定類名:這通常就是已定義bean的實際實現類。如果通過呼叫static factory方法來例項化bean,而不是使用常規的構造器,那麼類名稱實際上就是工廠類的類名。

  • 行為模式:建立模式(prototype還是singleton)、自動裝配模式、依賴檢查模式、初始化以及銷燬方法

  • 用於建立bean例項的構造器引數及屬性值。

  • bean之間的關係,即協作 (或者稱依賴)。