1. 实例化 Instantiation
  2. 属性赋值 Populate
  3. 初始化 Initialization
  4. 销毁 Destruction

1、实例化对象--根据配置中的BeanDefinition实例化bean对象。 2、设置bean相关的属性。 3、检查Aware相关接口并设置相关依赖 比如BeanNameAware这个接口,可以让bean感知到自身在spring容器中的id。 其他的Aware接口也是类似功能,可以让bean感知到自身的一些属性。 4、BeanPostProcessor前置处理。 在bean初始化前加一些自己想要做的逻辑。postProcessBeforeInitialization这个方法 5、BeanPostProcessor后置处理。 在bean初始化后加一些自己想要做的逻辑。postProcessAfterInitialization这个方法 6、bean 对象处于就绪状态,可以使用了。 7、销毁bean 1、是否实现了DisposableBean接口,spring容器关闭会调用destory方法。 2、是否配置自定义的destory方法销毁

参考

https://www.jianshu.com/p/1dec08d290c1

https://www.cnblogs.com/lkylin/p/12720552.html