ApplicationContext提供了一种解决文档信息的方法,一种加载文件资源的方式(如图片),他 们可以向监听他们的beans发送消息。另外,容器或者容器中beans的操作,这些必须以bean 工厂的编程方式处理的操作可以在应用上下文中以声明的方式处理。应用上下文实现了 MessageSource,该接口用于获取本地消息,实际的实现是可选的。

相同点:两者都是通过xml配置文件加载bean,ApplicationContext和BeanFacotry相比, 提供了更多的扩展功能。

不同点:BeanFactory是延迟加载,如果Bean的某一个属性没有注入,BeanFacotry加载 后,直至第一次使用调用getBean方法才会抛出异常;而ApplicationContext则在初始化自身 是检验,这样有利于检查所依赖属性是否注入;所以通常情况下我们选择使用 ApplicationContext。