1.实例化bean对象(通过构造方法或者工厂方法)
2.设置对象属性(setter等)(依赖注入)
3.如果Bean实现了BeanNameAware接口,工厂调用Bean的setBeanName()方法传递Bean的ID。(和下面的一条均属于检查Aware接口)
4.如果Bean实现了BeanFactoryAware接口,工厂调用setBeanFactory()方法传入工厂自身
5.将Bean实例传递给Bean的前置处理器的
postProcessBeforeInitialization(Object bean, String beanname)方法
6.调用Bean的初始化方法
7.将Bean实例传递给Bean的后置处理器的
postProcessAfterInitialization(Object bean, String beanname)方法
8.使用Bean
9.容器关闭之前,调用Bean的销毁方法
5和7的作用类似于aop
原文链接:https://blog.csdn.net/w_linux/article/details/80086950