一、相同点
他们都可以得到Spring上下文对象,都来自Spring的顶级接口
二、不同点
继承:ApplicationContext是继承于BeanFactory的,父类有的功能子类也有,子类有父类没有的,所以前者的功能更多比如:国际化支持、事件传播、资源访问等
性能:ApplicationContext是在启动时一次性加载并初始化全部对象,而BeanFactory是用到谁才加载谁,属于懒加载。Spring启动时对ApplicationContext的加载也做了优化,会根据硬件设施决定它的加载是懒汉还是饿汉