Spring - IoC 容器



Spring 容器是 Spring 框架的核心。容器將建立物件、將它們連線在一起、配置它們,並管理它們從建立到銷燬的整個生命週期。Spring 容器使用 DI 來管理構成應用程式的元件。這些物件稱為 Spring Bean,我們將在下一章中討論。

容器透過讀取提供的配置元資料來獲取有關要例項化、配置和組裝哪些物件的指令。配置元資料可以用 XML、Java 註解或 Java 程式碼表示。下圖顯示了 Spring 工作方式的高階檢視。Spring IoC 容器利用 Java POJO 類和配置元資料來生成完全配置且可執行的系統或應用程式。

Spring IoC Container

Spring 提供以下兩種不同型別的容器。

序號 容器和描述
1 Spring BeanFactory 容器

這是最簡單的容器,提供對 DI 的基本支援,並由org.springframework.beans.factory.BeanFactory介面定義。BeanFactory 和相關的介面(如 BeanFactoryAware、InitializingBean、DisposableBean)仍然存在於 Spring 中,目的是為了與大量與 Spring 整合的第三方框架向後相容。

2 Spring ApplicationContext 容器

此容器添加了更多企業特定功能,例如能夠從屬性檔案解析文字訊息以及能夠將應用程式事件釋出給感興趣的事件偵聽器。此容器由org.springframework.context.ApplicationContext介面定義。

ApplicationContext容器包含BeanFactory容器的所有功能,因此通常建議使用ApplicationContext而不是BeanFactory。對於輕量級應用程式(如移動裝置或基於 applet 的應用程式),如果資料量和速度很重要,仍然可以使用 BeanFactory。

廣告