BeanFactory与ApplicationContext的概述

概述

BeanFactory:bean工厂,是IOC容器对象的最高的父接口,面向的是Spring框架本身,所以在开发中,几乎不会使用BeanFactory作为IOC容器对象,但是BeanFactory提供的getBean方法我们一直在用,只不过是通过子接口使用。

ApplicationContext:是BeanFactory的子接口,面向的是Spring的开发者,所以在开发中,我们几乎都使用ApplicationContext作为IOC容器对象。
BeanFactory与ApplicationContext的概述_第1张图片

ApplicationContext接口的实现类:

  • ClassPathXmlApplicationContext:从类的根路径下加载配置文件。
  • FileSystemXmlApplicationContext:从磁盘路径上加载配置文件,配置文件可以字磁盘的任意位置。
  • AnnotationConfigApplicationContext: 当我们使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注解。

ApplicationContext还有稍微常用一点的子接口

  • ConfigurableApplicationContxt:继承了ApplicationContext接口的所有的方法,并且新增了两个方法。
    ①:refresh() :刷新IOC容器
    ②:close() :关闭IOC容器

两者的区别

  • BeanFactory 是 Spring 容器中的顶层接口,ApplicationContext 是它的子接口。
  • 创建对象的时间点不一样。
    ApplicationContext:只要一读取配置文件,默认情况下就会创建对象。
    BeanFactory:什么使用什么时候创建对象。

你可能感兴趣的:(Spring,spring)