spring 生命周期

spring 生命周期
Spring Bean在Spring Bean Factory Container中完成其整个生命周期:以下是完成其生命周期所需的各种内容:

  1. Spring容器从XML文件或@Configuration中bean的定义中实例化bean。
  2. Spring依据配置中指定的属性,为bean填充所有属性。
  3. 如果bean实现BeanNameAware接口,spring调用setBeanName()方法,并传递bean的id。
  4. 如果bean实现BeanFactoryAware接口,spring将调用setBeanFactory()方法,并把自己作为参数。
  5. 如果bean实现ApplicationContextAware接口,spring将调用setApplicationContext()方法,并把ApplicationContext实例作为参数。
  6. 如果存在与bean关联的任何BeanPostProcessors(后处理器),则调用preProcessBeforeInitialization()方法。比如Autowired等依赖注入功能是在此时完成。
  7. 如果Bean实现了InitializingBean接口,则调用bean的afterPropertiesSet()方法。
  8. 如果为bean指定了init-method,那么将调用bean的init方法。
  9. 最后,如果存在与bean关联的任何BeanPostProcessors,则将调用postProcessAfterInitialization()方法。

这一篇也很好