底层实现:工作原理,过程,数据结构,流程,设计模式,设计思想
createBeanFactory,getBean,doGetBean,createBean,doCreateBean,createBeaninstance(getDeclaredConstructor,newinstance),populateBean,initializ ngBean
1、先通过createBeanFactory创建出一个Bean工厂(DefaultListableBeanFactory)
2、开始循环创建对象,因为容器中的bean默认都是单例的,所以优先通过getBeandoGetBean从容器中查找,找不到的话,
3、通过createBean.doCreateBean方法,以反射的方式创建对象,一般情况下使用的是无参的构造方法(getDeclaredConstructor newinstance)
4、进行对象的属性填充populateBean
5、进行其他的初始化操作(initializingBean)