1. 程式人生 > >Spring-兩種配置容器

Spring-兩種配置容器

Spring提供了兩種容器型別

      SpringIOC容器是一個IOC Service Provider。提供了兩種容器型別:BeanFactory和ApplicationContext。Spring的IOC容器是一個提供IOC支援的輕量級容器。除了基本的ioc支援,它作為輕量級容器還提供了IOC之外的支援。

BeanFactory

       BeanFactory是基礎型別IOC容器。顧名思義,就是生產Bean的工廠。能夠提供完整的IOC服務。沒有特殊指定的話,其預設採用延遲初始化策略。只有當客戶端物件需要訪問容器中的某個受管物件的時候,才對該物件進行初始化和依賴注入操作。因此,相對來說,容器啟動初期的時候速度是比較快的。所需要的資源有限。所以,對資源有限,並且功能要求不是很嚴格的場景,BeanFactory是比較合適的IOC容器

ApplicationContext

      ApplicationContext是在BeanFactory的基礎上邊構建的,是相對比較高階的容器的實現,除了擁有BeanFactory的所有支援,ApplicationContext還提供了其他的高階特性。例如事件釋出、國際化資訊支援等。ApplicationContext所管理的物件,在該型別容器啟動之後,預設全部初始化並繫結完成。相對於BeanFactory來說,ApplicationContext會要求更多的系統資源。因為在啟動時就完成了所有的初始化,容器啟動的時間與BeanFactory相比會長一些。因此,ApplicationContext更適用於系統資源充足,並且要求更多功能的場景中。      ApplicationContext間接繼承自BeanFactory,所以說它是構建與BeanFactory之上的IOC容器。 本部落格參考自王福強的《Spring揭祕》