Spring5源码之ApplicationContext与BeanFactory的区别
程序员文章站
2022-04-02 10:52:28
...
这篇文章主要介绍了Spring5源码之ApplicationContext与BeanFactory的区别,两者都是用于加载Bean的,需要的朋友可以参考一下。
1、ApplicationContext与BeanFactory的类实现的区别
两者都是用于加载Bean的,但是相比之下,ApplicationContext提供了更多的扩展功能,简单一点来说:ApplicationContext包含了BeanFactory的所有功能。通常建议比BeanFactory优先,除非在在一些限制的场合,比如字节长度对内存有很大的影响时(Applet)。绝大多数“典型的”企业应用和系统,ApplicationContext就是你需要使用的。下面通过IDEA生成Diagrams关系图的生成,查看类的实现关系,接口的继承关系如下图所示:可以看到ApplicationContext实现了BeanFactory。
2、ApplicationContext与BeanFactory加载配置文件的区别
- 使用 BeanFactory方式加载XML
// 使用 BeanFactory方式加载XML
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("beanFactory.xml"));
- 使用ApplicationContext方式加载XML
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beanFactory.xml");
如果您觉得有帮助,欢迎点赞哦 ~ ~ 多谢~ ~