BeanFactory和FactoryBean的区别
BeanFactory和FactoryBean的区别
1、 BeanFactory
BeanFactory是IOC容器的核心接口,是一个工厂类(接口), 它负责生产和管理bean,它为其他具体的IOC容器提供了最基本的规范,Spring容器给出了很多种实现。例如:
DefaultListableBeanFactory,
XmlBeanFactory,
ApplicationContext 等具体的容器都是实现了BeanFactory
BenFactory源码:
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源码:
作 者:一支会记忆的笔
---------------------
个性 签名:真正的学习不是记住知识,而是学会如何提出问题,研究问题,解决问题。
如果觉得这篇文章对你有小小的帮助的话,记得在下方“关注”哦,博主在此感谢!