4.Spring中Bean的生命周期

Bean的生命周期如下圖所示:


bean的生命周期圖

從上圖,我們可以看出bean的生命周期需要經(jīng)歷如上的階段:
(1)Spring對(duì)Bean進(jìn)行實(shí)例化。
(2)Spring將值和bean的引用注入到bean對(duì)應(yīng)的屬性中。
(3)如果bean實(shí)現(xiàn)了BeanNameAware接口,則將bean的id傳遞給setBeanName方法
(4)如果bean實(shí)現(xiàn)了BeanFactoryAware接口,則將調(diào)用setBeanFactory方法,將BeanFactroy容器實(shí)例傳入
(5)如果bean實(shí)現(xiàn)了ApplicationContextAware接口,spring將調(diào)用setApplicationContext方法,將bean所在應(yīng)用上下文的引用傳遞進(jìn)來(lái)
(6)如果bean實(shí)現(xiàn)了InitializingBean接口,spring將調(diào)用他們的afterPropertiesSet方法。
(7)如果實(shí)現(xiàn)了BeanPostProcessor接口,Spring將調(diào)用他們的postProcessBeforeInitialization方法
(8)如果bean實(shí)現(xiàn)了BeanPostProcessor接口,spring將調(diào)用他們的postProcessAfterInitialization方法
(9)此時(shí),bean準(zhǔn)備就緒,就可以被引用程序使用,一直駐留在應(yīng)用上下文中,直到該應(yīng)用上下文被銷毀。
(10)如果bean實(shí)現(xiàn)了DisposableBean接口,spring將調(diào)用它的destroy接口。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容