BeanFactory 才是 Spring 容器中的顶层接口。ApplicationContext 是它的子接口。
BeanFactory 和 ApplicationContext 的区别:创建对象的时间点不一样。
BeanFactory接口
- spring的原始接口,针对原始接口的实现类功能较为单一.
- BeanFactory接口实现类的容器,特点是每次在获得对象的时候才会创建对象.
ApplicationContext
- 每次容器启动的时候就会创建配置文件中的所有对象,并提供更多功能.
实现类:
- 从类路径下加载配置文件:ClassPathXmlApplicationContext
- 从硬盘绝对路径下加载配置文件:FileSystemXmlApplicationContext("d:/xxxx")