由org.springframework.beans.factory.BeanFactory接口定义 是最简单的容器,提供了基础的依赖注入支持。 BeanFactory采用了工厂设计模式,负责建立和分发各类类型的Bean,建立协做对象间的关联关系,管理Bean的生命周期,调用用户定义的初始化和销毁方法(若是定义了这些方法的话)等。
由org.springframework.context.ApplicationContext接口定义 创建在BeanFactory基础之上,提供了系统构架服务。如:文本信息解析工具,包括对国际化(I18N)的支持;载入文件资源的通用方法;能够向注册为监听器的Bean发送事件等。
ApplicationContext包含BeanFactory的全部功能,几乎全部的应用系统都选择ApplicationContext而不是BeanFactory。spring
只有在资源不多的状况下,才会考虑采用BeanFactory,如在移动设备上等。设计模式