描述一下Spring Bean的生命周期

1、解析类得到BeanDefinition (Spring创建对象不是使用程序员定义的class文件,而是使用的BeanDefination)
2、如果有多个构造方法,则需要推断构造方法
3、确定好构造方法后,进行实例化得到一个对象。(原始对象)
4、填充属性,依赖注入。
5、回调Aware,比如BeanNameAware,BeanFactoryAware
6、调用BeanPostProcessor的初始化前的方法
7、调用初始化方法
8、调用BeanPostProcessor的初始化后的方法,这里如果有AOP,则会进行AOP(代理对象)
9、如果当前创建的bean时单例,则会把bean放到单例池(实现了AOP放进去的就会是代理对象)
10、使用bean
11、spring关闭容器时调用DisposableBean中的destory()方法。

posted @ 2021-05-21 10:18  刘指导  阅读(284)  评论(0编辑  收藏  举报