1 不同点 1.1 两者来自的 jar 包不同, 如下图所示; BeanFactory 来自springframework.beans ApplicationContext 来自 springframework.context 1.2 ApplicationContext 属于 BeanFactory 的子类, BeanFactory 只提供了基础访问 bean 的方法, 而 ApplicationContext 除了拥有 BeanFactory 的所有功能之外, 还提供了更多的方法实现, 如资源访问的支持, 时间和传播等方面的支持; 1.3 从性能方面: BeanFactory 是按需加载 Bean, 而ApplicationContext 在创建时会将所有的 Bean 都加载起来, 以备后续使用, 也就是饿汉方式进行加载. 2 相同点 都可以实现从容器中获取 bean, 都提供了getBean 的方法.