Spring中Bean生命周期


Spring中的bean生命周期是一個重要的點,只有理解Bean的生命周期,在開發中會對你理解代碼是非常有用的。對於Bean的周期,個人認為可以分為四個階段。第一階段:Bean的實例化,在該階段主要是Bean的實例化。第二階段是Bean的初始化,包括初始化方法和屬性的填充。第三階段是Bean的使用。第四階段是Bean的銷毀,該階段是調用destroy方法等。如圖(摘自網路)所示:

Spring首先會調用BeanFactoryPostProcessor的postProcessBeanFactory方法,后初始化Bean(是通過反射機制調用其構造方法),有了對象后,開始屬性的注入,注入屬性之后,如果你這個Bean實現了Spring中相關的XXXaware接口,比如說:BeanNameAware,BeanFactoryAware,ApplicationContextAware來獲取相關的對象,這一階段是在Bean的實例化中操作的。

接下來,進入Bean的初始化階段,首先會調用BeanPostProcess的前置處理(預初始化方法),后在調用初始化方法即InitlalizingBean的afterPropertiesSet方法,完成之后,調用自定義的init-method指定方法,最后調用BeanPostProcess的后置處理(與初始化后的方法)。

Bean的使用:其實是業務邏輯操作Bean的過程。

最后是Bean的銷毀:該階段銷毀有兩次銷毀。一次是DisposableBean的Destroy的方法,后才調用destroy-method指定的方法。

對於以上簡單介紹Bean整個生命周期,這里描述不像別人的描述的很多很雜,希望讀者通過這個簡單的描述對spring的Bean的生命周期有一個大概的思路,至於每個階段每個步驟是怎么完成的,其實是一件很復雜很繁瑣的過程。這里不再敘述。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM