Spring Bean的生命週期

  1. Bean的建立,由BeanFactory讀取Bean定義文件,生成各個實例。
  2. setter注入,執行Bean的屬性依賴注入。
  3. BeanNameAware的setBeanName(), 如果實現該接口,則執行其setBeanName方法。
  4. BeanFactoryAware的setBeanFactory(),如果實現該接口,則執行其setBeanFactory方法。
  5. BeanPostProcessor的processBeforeInitialization(),如果有關聯的processor,則在Bean初始化之前都會執行這個實例的processBeforeInitialization()方法。
  6. InitializingBean的afterPropertiesSet(),如果實現了該接口,則執行其afterPropertiesSet()方法。
  7. Bean定義文件中定義init-method。
  8. BeanPostProcessors的processAfterInitialization(),如果有關聯的processor,則在Bean初始化之前都會執行這個實例的processAfterInitialization()方法。
  9. DisposableBean的destroy(),在容器關閉時,如果Bean類實現了該接口,則執行它的destroy()方法。
    10.Bean定義文件中定義destroy-method,在容器關閉時,可以在Bean定義文件中使用“destory-method”定義的方法。

簡單回答springbean生命週期就是:

第一,實例化(必須的一步)構造函數對象。第二,裝配(可選),爲屬性賦值。第三,回調(可選),(容器-控制類和組件-回調類)。第四,初始化(init-method=" “)。第五,就緒。第六,銷燬(destroy-method=” ")。

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