Spring框架中应用程序上下文和Beanfactory之间的区别

Spring框架提供了两个IOC容器,用于管理,配置和操作Bean。一个是BeanFactory,另一个是应用程序上下文。 

应用程序上下文接口扩展了BeanFactory,以增强BeanFactory的功能。 

在新的Spring版本中,BeanFactory替换为ApplicationContext。但是,BeanFactory的存在是为了向后兼容。 

Spring 2.0及更高版本使用了BeanPostProcessor扩展点(接口提供了一些回调方法,我们可以实现这些方法来定制实例化逻辑,依赖项解析逻辑等)。因此,如果您使用的是BeanFactory,则某些功能(如AOP和事务处理)必须进行一些额外的配置才能使用。

序号豆工厂应用环境
1个
实作 
XMLBeanFactory implements BeanFactory 
FileSystemXmlApplicationContext,ClassPathXmlApplicationContext和AnnotationConfigWebApplicationContex实现ApplicationContext。 

此外,ApplicationContext扩展了Beanfactory 
2
注解 
No

3
实例化
Benafactory instantiate beans when  getBean() method gets called.
容器启动时应用instainte bean。
4
活动发布 
Bean factory does not have the ability to push events to the beans 
应用程序上下文具有将事件推送到bean的能力。
5
加载机制
Lazy loading 
激进的加载