BeanFactory
- BeanFactory是早期的Factory,无法支持spring插件,例如:AOP、Web应用等功能;
ApplicationContext
- 是BeanFactory的子接口,对BeanFactory进行了扩展:
- 国际化处理
- 事件传递
- Bean自动装配
- 各种不同应用层的Context实现
区别
- BeanFactory采用延迟加载,getBean()的时候才会实例化bean,节约内存但是速度慢。
- ApplicationContext在加载配置文件的时候就创建了所有bean。
相同点
- 两者都分别提供了用于加载classpath下的配置文件和加载磁盘路径下的配置文件的两种子类。