Beanfactory与applicationcontext区别
时间: 2023-08-12 07:07:22 浏览: 104
开源框架面试专题及答案.pdf
BeanFactory和ApplicationContext都是Spring框架中的容器,用于管理Bean对象的创建、配置、装配和管理等工作。他们的主要区别如下:
1. BeanFactory是Spring框架中最基础的容器,提供了最基本的IOC(控制反转)和DI(依赖注入)功能,也就是Bean的创建和管理。而ApplicationContext是BeanFactory的子集,增加了更多的功能,例如事件发布、国际化、AOP(面向切面编程)等。
2. BeanFactory是懒加载的,只有在getBean()方法被调用的时候才会创建Bean,而ApplicationContext则是预加载的,启动时就会创建Bean。
3. ApplicationContext可以在启动时自动检查Bean的配置是否正确,而BeanFactory不会。ApplicationContext还支持多个配置文件,而BeanFactory只能加载一个配置文件。
4. ApplicationContext可以通过实现MessageSource接口来实现国际化,而BeanFactory不支持。
总的来说,如果只是需要实现基本的IOC和DI功能,可以使用BeanFactory。如果需要更多的功能,例如国际化、AOP等,建议使用ApplicationContext。
阅读全文