Spring IoC 容器

2022-05-21 15:18 更新

Spring 容器是 Spring 框架的核心。容器將創(chuàng)建對象,把它們連接在一起,配置它們,并管理他們的整個生命周期從創(chuàng)建到銷毀。Spring 容器使用依賴注入(DI)來管理組成一個應(yīng)用程序的組件。這些對象被稱為 Spring Beans,我們將在下一章中進行討論。

通過閱讀配置元數(shù)據(jù)提供的指令,容器知道對哪些對象進行實例化,配置和組裝。配置元數(shù)據(jù)可以通過 XML,Java 注釋或 Java 代碼來表示。下圖是 Spring 如何工作的高級視圖。 Spring IoC 容器利用 Java 的 POJO 類和配置元數(shù)據(jù)來生成完全配置和可執(zhí)行的系統(tǒng)或應(yīng)用程序。

IOC 容器具有依賴注入功能的容器,它可以創(chuàng)建對象,IOC 容器負責(zé)實例化、定位、配置應(yīng)用程序中的對象及建立這些對象間的依賴。通常new一個實例,控制權(quán)由程序員控制,而"控制反轉(zhuǎn)"是指new實例工作不由程序員來做而是交給Spring容器來做。在Spring中BeanFactory是IOC容器的實際代表者。

Spring IoC 容器

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

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

它是最簡單的容器,給 DI 提供了基本的支持,它用 org.springframework.beans.factory.BeanFactory 接口來定義。BeanFactory 或者相關(guān)的接口,如 BeanFactoryAware,InitializingBean,DisposableBean,在 Spring 中仍然存在具有大量的與 Spring 整合的第三方框架的反向兼容性的目的。

2 Spring ApplicationContext 容器

該容器添加了更多的企業(yè)特定的功能,例如從一個屬性文件中解析文本信息的能力,發(fā)布應(yīng)用程序事件給感興趣的事件監(jiān)聽器的能力。該容器是由 org.springframework.context.ApplicationContext 接口定義。

ApplicationContext 容器包括 BeanFactory 容器的所有功能,所以通常不建議使用BeanFactory。BeanFactory 仍然可以用于輕量級的應(yīng)用程序,如移動設(shè)備或基于 applet 的應(yīng)用程序,其中它的數(shù)據(jù)量和速度是顯著。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號