BeanFactory和FactoryBean的区别

2020-08-18  本文已影响0人  倚仗听江

BeanFactory接口:

IoC容器的顶级接口,是一个工厂类,使用了简单工厂模式,负责对bean的创建,访问等工作。有很多的实现,连Spring容器ApplicationContext都是它的具体实现,ApplicationContext在继承BeanFactory的基础上又继承了很多接口,进行了功能的增强。

常见使用场景:

FactoryBean接口:

首先它是一个Bean,是一个能够生产或者修饰对象的工厂Bean,通过实现该接口可以对bean进行一些额外的操作,是一种对于bean的增强,使用了装饰器模式和工厂模式。
该接口只有三个方法:


总结:BeanFactory是个Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是Spring容器)来进行管理的,但对于FactoryBean来说,它不是一个简单的Bean,而是一个能生产或修饰对象生成的工厂bean。

上一篇 下一篇

猜你喜欢

热点阅读