工厂方法 和 工厂
设计模式之间的区别基本上是相同的,在底部有一点说明。一种是用于获取特定类的实例的方法,另一种是负责创建对象的完整对象,其中包括创建对象所需的所有逻辑。
FactoryBean的界面文档指出:
由BeanFactory中使用的对象(本身就是工厂)实现的接口。如果bean实现此接口,则它将用作对象公开的工厂,而不是直接用作将自身公开的bean实例。
另外,此对象 不用作Bean实例 ,而是通过其
getObject方法用作实例提供程序。
更新资料
搜索
factory-methodover的使用
FactoryBean,似乎它经常与遗留的singleton
bean一起使用,以获取基础实例,但是这种方法不提供对初始化方法的支持,例如,用于
init初始化给定集合的方法属性。
在这种情况下,您要么必须在使用该类之前自己调用它,要么定义一个用于处理初始化的包装器,或者使用诸如之类的其他机制
MethodInvokingFactoryBean。
更新2
严格来说,a
FactoryBean是用来管理特定类型的。实际上,您将拥有一个
EggPlantFactory,而不是一个,
VegetableFactory因为接口
getObject定义的方法
FactoryBean不支持参数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)