BeanFactory与ApplicationContext

58 阅读1分钟
一、初始化方式不同
  • BeanFactory是延迟初始化的,它是调用getBean()方法时,才会初始化Bean,
  • ApplicationContext在容器启动时就进行初始化
二、Bean的作用不同
  • BeanFactory只支持单例和原型作用域
  • ApplicationContext支持多种作用域,单例(Singleton)、原型(Prototype)、请求(Request)、会话(Session)
三、Bean的生命周期不同
  • BeanFactory只负责实例化和管理bean
  • ApplicationContext在Bean实例化之后,负责完成Bean的依赖注入、Aop代理、事件发布等
四、功能不同
  • BeanFactory只有Bean的基本管理功能
  • ApplicationContext还有其他高级功能,资源绑定、消息传递、事务管理