beanfactory和factorybean的区别是什么?

 我来答
生活帮忙小能手
高粉答主

2021-06-02 · 关注这个人,可以解决很多生活小问题!
生活帮忙小能手
采纳数:103 获赞数:11641

向TA提问 私信TA
展开全部

1、定义不同

BeanFactory是个Factory,也就是IOC容器或对象工厂。

FactoryBean是个Bean。

2、作用不同

BeanFactory以Factory结尾,表示它是一个工厂类(接口), 它负责生产和管理bean的一个工厂。

FactoryBean它是实现了FactoryBean<T>接口的Bean,根据该Bean的ID从BeanFactory中获取的实际上是FactoryBean的getObject返回的对象。

总之,BeanFactory是接口,提供了IOC容器最基本的形式,给具体的IOC容器的实现提供了规范。FactoryBean也是接口,为IOC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单工厂模式和装饰模式。

beanfactory和factorybean的职责:

1、BeanFactory

在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。

BeanFactory只是个接口,并不是IOC容器的具体实现,但是Spring容器给出了很多种实现,其中XmlBeanFactory就是常用的一个,该实现将以XML方式描述组成应用的对象及对象间的依赖关系。

2、factorybean

FactoryBean的工厂类接口,用户可以通过实现该接口定制实例化Bean的逻辑。FactoryBean接口对于Spring框架来说占用重要的地位,Spring自身就提供了70多个FactoryBean的实现。

它们隐藏了实例化一些复杂Bean的细节,给上层应用带来了便利。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式