spring工厂方法和factory bean有什么区别?
我是新泉。在Bean标签中,我找到了factory-method和factory-bean Attributes。factory-
method和factory-bean有什么区别?
我正在使用工厂方法调用getInstance静态方法来创建单例对象。
工厂豆有什么用?
对于给定的答复,我的理解是
工厂方法用于调用静态方法以在同一bean类中创建对象。
Factory-bean用于基于工厂设计模式创建对象。
例如:-我通过传递我的蔬菜名称(在这种情况下为EggPlant),从VegetableFactory(这将返回被询问的蔬菜对象)类中询问EggPlant对象。
如果我输入错误,请更正?
回答:
工厂方法 和 工厂
设计模式之间的区别基本上是相同的,在底部有一点说明。一种是用于获取特定类的实例的方法,另一种是负责创建对象的完整对象,其中包括创建对象所需的所有逻辑。
FactoryBean
的界面文档指出:
由BeanFactory中使用的对象(本身就是工厂)实现的接口。如果bean实现此接口,则它将用作对象公开的工厂,而不是直接用作将自身公开的bean实例。
另外,此对象 ,而是通过其getObject
方法用作实例提供程序。
更新资料
搜索factory-method
over的使用FactoryBean
,似乎它经常与遗留的singleton
bean一起使用,以获取基础实例,但是这种方法不提供对初始化方法的支持,例如,用于init
初始化给定集合的方法属性。
在这种情况下,您要么必须在使用该类之前自己调用它,要么定义一个用于处理初始化的包装器,或者使用诸如之类的其他机制MethodInvokingFactoryBean
。
更新2
严格来说,a
FactoryBean
是用来管理特定类型的。实际上,您将拥有一个EggPlantFactory
,而不是一个,VegetableFactory
因为接口getObject
定义的方法FactoryBean
不支持参数。
以上是 spring工厂方法和factory bean有什么区别? 的全部内容, 来源链接: utcz.com/qa/419577.html