Bean生命周期的概要流程
- 实例化
- 属性赋值
- 初始化
- 销毁
Bean生命周期流程图
Bean生命周期的详细流程
- 解析xml配置或注解配置的类,得到BeanDefinition;
- 通过BeanDefinition反射创建Bean对象;
- 对Bean对象进行属性填充;
- 回调Aware接口的方法,如BeanNameAware,BeanClassLoaderAware,BeanFactoryAware;
- 调用BeanPostProcessor的初始化前置方法;
- 调用init初始化方法
- 调用BeanPostProcessor的初始化后方法,此处会进行AOP;
- 将创建的Bean对象放入到一个Map中;
- 业务使用Bean对象;
- Spring容器关闭是调用DisposableBean的destory()方法。