Spring基礎原理學習整理8條

DefaultListableBeanFactory是beanFactory體系裏面最後一個子類,也是唯一的操作類,唯一的實現。DefaultListableBeanFactory繼承了

AbstractAutowireCapableBeanFactory,實現了ConfigurableListableBeanFactory,BeanDefinitionRegistry。

resolvableDependencies用來保存spring中自己的bean。這樣隔離系統bean與業務bean。

BeanFactory與FactoryBean的區別
BeanFactory是個Factory,也就是IOC容器或對象工廠,FactoryBean是個Bean。在Spring中,所有的Bean都是由
BeanFactory(也就是IOC容器)來進行管理的。但對FactoryBean而言,這個Bean不是簡單的Bean,而是一個能生產
或者修飾對象生成的工廠Bean,它的實現與設計模式中的工廠模式和修飾器模式類似。

BeanFactory和ApplicationContext是Spring的兩大核心接口,而其中ApplicationContext是BeanFactory的子接口。
它們都可以當做Spring的容器,Spring容器是生成Bean實例的工廠,並管理容器中的Bean。在基於Spring的Java EE應用中,
所有的組件都被當成Bean處理。

我們一般稱BeanFactory爲IoC容器,而稱ApplicationContext爲應用上下文。

Spring容器最基本的接口就是BeanFactory。BeanFactory負責配置、創建、管理Bean。
它有一個子接口ApplicationContext,也被稱爲Spring上下文,容器同時還管理着Bean和Bean之間的依賴關係。

spring scope
singleton
prototype
prototype作用域部署的bean,每一次請求(將其注入到另一個bean中,或者以程序的方式調用容器的getBean()方法)都會產生一個新的bean實例,相當與一個new的

操作,對於prototype作用域的bean,有一點非常重要,那就是Spring不能對一個prototype bean的整個生命週期負責,容器在初始化、配置、裝飾或者是裝配完一個

prototype實例後,將它交給客戶端,隨後就對該prototype實例不聞不問了
request
request表示該針對每一次HTTP請求都會產生一個新的bean,同時該bean僅在當前HTTP request內有效.
session


BeanFactory的三個子接口:

1. HierarchicalBeanFactory:提供父容器的訪問功能

2. ListableBeanFactory:提供了批量獲取Bean的方法

3. AutowireCapableBeanFactory:在BeanFactory基礎上實現對已存在實例的管理.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章