BeanFactory和FactoryBean的区别

1、 BeanFactory

      BeanFactory是IOC容器的核心接口,是一个工厂类(接口), 它负责生产和管理bean,它为其他具体的IOC容器提供了最基本的规范,Spring容器给出了很多种实现。例如:

DefaultListableBeanFactory,
XmlBeanFactory,
ApplicationContext 等具体的容器都是实现了BeanFactory

BenFactory源码:

BeanFactory和FactoryBean的区别

 

 

 2、FactoryBean

FactoryBean是一个接口,是一种工厂beanSpring中共有二种bean,一种是普通bean(就是上面说的BeanFactory管理的bean),另一种是实现FactoryBean接口的Bean。FactoryBean管理的Bean实际上也是由spring进行管理、实例化,配置,

当在IOC容器中的Bean实现了FactoryBean后,通过getBean(String BeanName)获取到的Bean对象并不是FactoryBean的实现类对象,而是这个实现类中的getObject()方法返回的对象。要想获取FactoryBean的实现类,就要getBean(&BeanName),在BeanName之前加上&

factoryBean源码:

BeanFactory和FactoryBean的区别

 

相关文章:

  • 2021-04-21
  • 2022-12-23
  • 2021-07-20
  • 2021-11-07
  • 2022-12-23
  • 2021-05-01
  • 2021-07-05
猜你喜欢
  • 2021-11-10
  • 2021-08-28
  • 2021-09-16
  • 2021-12-10
  • 2021-06-26
  • 2022-12-23
相关资源
相似解决方案