ApplicationContext和BeanFactory都能获取到spring上下文对象(spring框架),他们二者有什么区别?
区别一:他们属于不同的包
区别二:BeanFactory 和ApplicationContext都是属于Spring 下的顶级接口,其中 BeanFactory 提供了基础的访问容器的能⼒,ApplicationContext 属于BeanFactory 的子类,BeanFactory 所有的功能ApplicationContext 也是拥有,除此之外ApplicationContext还有用其他BeanFactory没有的功能,例如:对国际化的支持,支持资源的访问,支持事件的传播等。
区别三:对于执行性能来说,ApplicationContext是一次性加载并初始化所有的 bean的,所以它的启动过程可能比较慢,但是后续的执行比较快;而BeanFactory 是需要哪个类才去加载那个类,因此BeanFactory占用的系统资源更少,启动更快,但后续的执行可能会慢一些。