宏观的来讲就是Bean对象的创建到使用到销毁的过程;
创建Bean对象分为了两步,第一步是进行实例化,第二步是进行初始化,这两个是不同的概念;
实例化
实例化:在堆空间中申请空间,对象的属性值一般是默认值(反射创建对象的过程);
1.核心方法(入口):doCreateBean方法中调用的createBeanInstance;
如果没有特殊情况的话则会使用无参构造器,并且调用下面这个instantiateBean(实例化Bean的方法);
2.在该方法中又有一个核心的方法,getInstantiationStrategy().instantiate():该方法是获取实例化策略并且进行实例化操作
3.再进入到这个方法里面,发现到它获取了无参构造器;
获取无参构造器的目的就是创建对象呗,因此它最后调用BeanUtils的instantiateClass创建对象;
4.再进入该方法,它的最后一行代码我们可看到,它创建了具体的对象;那么通过这一系列操作我们可以发现&#