spring工厂方法和factory bean有什么区别?

spring工厂方法和factory bean有什么区别?,第1张

spring工厂方法和factory bean有什么区别?

工厂方法工厂
设计模式之间的区别基本上是相同的,在底部有一点说明。一种是用于获取特定类的实例的方法,另一种是负责创建对象的完整对象,其中包括创建对象所需的所有逻辑。

FactoryBean
的界面文档指出:

由BeanFactory中使用的对象(本身就是工厂)实现的接口。如果bean实现此接口,则它将用作对象公开的工厂,而不是直接用作将自身公开的bean实例

另外,此对象 不用作Bean实例 ,而是通过其

getObject
方法用作实例提供程序。


更新资料

搜索

factory-method
over的使用
FactoryBean
,似乎它经常与遗留的singleton
bean一起使用,以获取基础实例,但是这种方法不提供对初始化方法的支持,例如,用于
init
初始化给定集合的方法属性。

在这种情况下,您要么必须在使用该类之前自己调用它,要么定义一个用于处理初始化的包装器,或者使用诸如之类的其他机制

MethodInvokingFactoryBean


更新2

严格来说,a

FactoryBean
是用来管理特定类型的。实际上,您将拥有一个
EggPlantFactory
,而不是一个,
VegetableFactory
因为接口
getObject
定义的方法
FactoryBean
不支持参数。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5643072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存