Spring IoC 容器與 Bean 簡介
本章介紹了 Spring Framework 中控制反轉(IoC)原則的實現。依賴注入(DI)是 IoC 的一種特殊形式,其中物件只通過建構函式引數、工廠方法引數或在物件例項構造後或從工廠方法返回後設置的屬性來定義它們的依賴項(即它們協同工作的其他物件)。然後,IoC 容器在建立 bean 時注入這些依賴項。這個過程與 bean 本身透過直接構造類或使用服務定位器模式等機制來控制其依賴項的例項化或定位是根本相反的(因此得名控制反轉)。
org.springframework.beans 和 org.springframework.context 包是 Spring Framework IoC 容器的基礎。BeanFactory 介面提供了一種高階配置機制,能夠管理任何型別的物件。ApplicationContext 是 BeanFactory 的子介面。它增加了:
-
更輕鬆地與 Spring 的 AOP 特性整合
-
訊息資源處理(用於國際化)
-
事件釋出
-
應用程式層特定上下文,例如用於 Web 應用程式的
WebApplicationContext。
簡而言之,BeanFactory 提供了配置框架和基本功能,而 ApplicationContext 增加了更多企業級功能。ApplicationContext 是 BeanFactory 的完整超集,本章在描述 Spring 的 IoC 容器時專門使用它。有關使用 BeanFactory 而不是 ApplicationContext 的更多資訊,請參閱關於 BeanFactory API 的部分。
在 Spring 中,構成應用程式骨幹並由 Spring IoC 容器管理的物件稱為 bean。bean 是由 Spring IoC 容器例項化、組裝和管理的物件。否則,bean 只是應用程式中的眾多物件之一。Bean 以及它們之間的依賴關係,反映在容器使用的配置元資料中。