spring之bean的創建過程

1、從單例中取,如果沒有繼續向下走

2、實例化DependsOn依賴的bean

3、根據bean的scope創建bean

4、實例化bean,使用默認構造函數,或者構造函數注入,或者通過工廠方法

5、請求MergedBeanDefinitionPostProcessor處理器的postProcessMergedBeanDefinition方法來處理BeanDefinition,比如說

AutowiredAnnotationBeanPostProcessor處理器解析被@autowired註解的字段或方法。

6、填充屬性,包括@autowired註解的屬性和xml配置的屬性。

7、初始化bean:請求BeanNameAware等aware接口的相應方法;請求postProcessBeforeInitialization方法,比如InitDestroyAnnotationBeanPostProcessor處理器請求@PostConstruct註解的方法;請求初始化方法;請求後置處理器初始化後的方法,比如AbstractAutoProxyCreator返回一個代理。

 

 

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