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 及其相互之間的依賴關係反映在容器使用的配置元資料中。