BeanFactory和ApplicationContext的区别

接口类图

BeanFactory和ApplicationContext的区别

BeanFactory

BeanFactory是spring的原始接口,针对原始结构的实现类功能比较单一,BeanFactory接口实现的容器,特点是在每次获取对象时才会创建对象。

ApplicationContext

继承了BeanFactory接口,拥有BeanFactory的全部功能,并且扩展了很多高级特性,每次容器启动时就会创建所有的对象。

创建ApplicationContext的方法: 

  1. 丛类路径下加载配置文件:ClassPathXmlApplicationContext ("applicationContext.xml");
  2. 从硬盘绝对路径下加载配置文件: FileSystemXmlApplicationContext(“d:/xxx/yyy/xxx”);

几乎所有的应用场合我们都直接使用ApplicationContext 而非底层的BeanFactory