Spring BeanFactory和ApplicationContext的区别

ApplicationContext

  ApplicationContext在构建核心容器时,创建对象采用的是立即加载的方式,也就是说,只要一读取完配置文件马上就创建配置文件中配置的对象。

  我们在AccountServiceImpl加上无参构造方法

 

  然后我们开始调试Client的main方法

   可以看到当获取核心容器后,对象就被立即创建了

 BeanFactory

  BeanFactory在构建核心容器时,创建对象采用的策略是延迟加载。也就是说,什么时候根据id获取对象,什么时候才真正创建对象。  

  我们在client里写上BeanFactory的代码

  XmlBeanFactory会通过读取resource来找到我们的bean配置文件,同样的,我们给程序打上断点

   当程序跑到这行时,我们可以看到,工厂已经构建完了

  但我们可以看到对象没有被创建

   直到要创建as这个对象时,对象才被创建出来

 

posted @ 2020-10-16 17:22  艾尔夏尔-Layton  阅读(96)  评论(0编辑  收藏  举报