spring底层

- spring容器对象什么时候被加载?spring中配置的bean怎么被创建的呢?
答:当new ClassPathXmlApplicationContext("xml配置文件名(applicationContext.xml)")时会创建spring容器对象——ac。applicationContext.xml文件如下图:

同时,applicationContext.xml文件中配置的bean对象会被创建到内存(类似Hashmap的数据结构)中。其中id对应key,对象对应value,bean与bean之间的依赖关系在内存中通过箭头指向建立联系:

- 那么,
applicationContext.xml中的bean是如何加载到内存中的呢?
通过反射机制将配置文件中的bean加载到内存中!!
即spring容器扫描配置文件,使用反射机制在内存里创建spring容器对象(applicationContext对象)的引用(即ac,ac即上图的applicationContext对象)。
而接下来:通过getbean,从内存中的applicationContext对象得到userService的bean对象us(对象是引用类型,故us是一个地址,指向内存中id为userService的地方)











