Spring Bean 的生命週期

一. Bean的生命週期

1. 實例化:Spring對bean 進行實例化;post

2. 填充屬性:Spring將值和bean 的引用注入到 bean 對應的屬性中;spa

3. 若是bean 實現了 BeanNameAware接口,Spring將bean的ID傳遞給setBean-Name()方法;接口

4. 若是bean實現了 BeanFactoryAware接口,Spring將調用setBeanFactory()方法,將BeanFactory 容器實例傳入;生命週期

5. 若是 bean 實現了 ApplicationContextAware 接口,Spring 將調用setApplicationContext()方法,將bean所在的應用上下文的引用傳人進來;it

6. 前置處理器:若是bean 實現了 BeanPostProcessor接口,Spring 將調用它們的 post-ProcessBeforeInitialization()方法;io

7. 若是 bean實現了 InitializingBean接口,Spring 將調用它們的 after-PropertiesSet()方法。相似地,若是bean使用init-method聲明瞭初始化方法,該方法也會被調用;容器

8. 後置處理器:若是 bean 實現了 BeanPostProcessor接口,Spring 將調用它們的 post-ProcessAfterInitialization()方法;sso

9. 此時,bean 已經準備就緒,能夠被應用程序使用了,它們將一直駐留在應用上下文中,直到該應用上下文被銷燬;引用

10. 銷燬:若是bean實現了 DisposableBean接口,Spring將調用它的destroy()接口方法。一樣,若是bean使用destroy-method聲明瞭銷燬方法,該方法也會被調用。程序

相關文章
相關標籤/搜索