阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo

时间:2020-11-26 17:47:21

核心容器的两个接口。ApplicationContext和BeanFactory
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo

怎么知道对象被创建了呢 我们只需要在实现类里面构造函数内打印输出一段话
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
然后再这里加上一个断点
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
运行程序,光标停在这个位置
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
往下走一步。对象被创建了。这就是加载了配置文件。对象实例立马被创建了。
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo

BeanFactory延迟加载的方式


阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo


阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
右键BeanFactory
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
BeanFactory有个过时的实现是XmlBeanFactory
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
创建XmlBeanFactory里面参数有要求
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
那就在上面定义需要的参数Resources
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
在这个包下面
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
找到Resource的实现
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo

构建完工厂,但是对象并没有被创建。由于我们还没有用这个对象。所以没有被创建
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
真正要使用这个对象了才会被创建
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo

阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo
spring可以跟我们配合的不同来改变对象创建的方式
实际开发用ApplicationContext多一些
阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationCo