Spring的Bean的生命週期

Spring的Bean的生命週期: markdown

  • Bean的BeanDefiniton在解析,由Annotation或者XML、Properties加載,解析並轉化爲BeanDefiniton.
  • 將BeanDefiniton註冊到BeanFactory的容器.而後經過BeanFactoyPostProcess,能夠Bean的BeanDefinition的修改.
  • 接下來就是對Bean的實例化的前置處理、實例化、後置處理,而後是Aware回調,便是ApplicationContextAwareProcessor的處理,主要EnvironmentAware、EmbeddedValueResolverAware、ResourceLoaderAware、ApplicationEventPublisherAware、MessageSourceAware、ApplicationContextAware的接口的回調.
  • Bean的初始化,便是調用BeanPostProcessor的postProcessBeforeInitialization的方法.
  • 調用populateBean進行屬性填充.
  • 進行Aware接口的回調,主要是BeanNameAware、BeanClassLoaderAware、 BeanFactoryAware的回調.
  • 調用BeanPostProcess postProcessBeforeInitialization方法.
  • 調用InitializingBean的afterPropertiesSet方法.
  • 執行自定義的init-method方法.
  • 調用BeanPostProcess postProcessBeforeInitialization方法,返回 BeanWrapper對象.
  • 銷燬bean的銷燬前置處理.
  • 銷燬bean.
  • 銷燬bean的後置處理.

總結 今天主要對Spring的bean的生命週期的各個流程的梳理,後續, 會對各個流程的 源碼的分析.app

相關文章
相關標籤/搜索