使用Spring框架的抽象工厂

时间:2010-10-28 11:59:07

标签: java spring configuration dependency-injection

我有一些抽象工厂

public interface AbstractViewersFactory {
    IAbstractShapeViewer createRectangle(BaseOperationsListener<RectangleDTO> p);
    IAbstractShapeViewer createOval(BaseOperationsListener<OvalDTO> p);
    IAbstractShapeViewer createTriangle(BaseOperationsListener<TriangleDTO> p);
}

它的实现 Draw2DViewersFactory 。 现在,我想创建一个类,负责按模型创建演示者/查看器并由Spring配置它。 所以,我需要在 .xml 配置中描述它应该调用的方法。 它可以是这样的(伪配置)

<bean creator>
<constructor-args>
<list>
    <bean describe-item> <constructor-args>model=Rectangle.class, method-for-viewer-create="createRectangle"</args>
    <bean describe-item> <constructor-args>model=Oval.class, method-for-viewer-create="createOval"</args>
<list>
</constructor-args>
</bean>

我怎么做?

感谢。

1 个答案:

答案 0 :(得分:6)

即使你的问题很不清楚,我想我得到了你想知道的东西。 您可以将spring bean定义为工厂实例,然后像这样设置此bean的工厂方法:

<bean id="myFactoryBean"
  class="AbstractViewersFactory">

  <bean id="exampleBean"
  factory-bean="myFactoryBean"
  factory-method="createRectangle"/>

希望这会有所帮助。 Google有关详细信息:p

问候