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

相关文章
相关标签/搜索