欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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。
Spring5源码之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");

如果您觉得有帮助,欢迎点赞哦 ~ ~ 多谢~ ~

相关标签: Spring5源码