宏观的来讲就是Bean对象的创建到使用到销毁的过程;

创建Bean对象分为了两步,第一步是进行实例化,第二步是进行初始化,这两个是不同的概念;
实例化
实例化:在堆空间中申请空间,对象的属性值一般是默认值(反射创建对象的过程);
1.核心方法(入口):doCreateBean方法中调用的createBeanInstance;

如果没有特殊情况的话则会使用无参构造器,并且调用下面这个instantiateBean(实例化Bean的方法);

2.在该方法中又有一个核心的方法,getInstantiationStrategy().instantiate():该方法是获取实例化策略并且进行实例化操作

3.再进入到这个方法里面,发现到它获取了无参构造器;

获取无参构造器的目的就是创建对象呗,因此它最后调用BeanUtils的instantiateClass创建对象;

4.再进入该方法,它的最后一行代码我们可看到,它创建了具体的对象;那么通过这一系列操作我们可以发现,

文章详细阐述了Spring中Bean从创建到销毁的完整过程,包括Bean的实例化(通过反射创建对象)、初始化(属性赋值和调用初始化方法)、扩展性(BeanPostProcessor的前后置处理方法用于AOP等扩展)以及初始化方法的检查和调用。此外,文章还提及了Aware接口作为容器对象属性赋值的标志,并指出Spring不会主动销毁Bean,除非关闭容器。
最低0.47元/天 解锁文章
911

被折叠的 条评论
为什么被折叠?



