【问题标题】:Using abstract factory with Spring framework在 Spring 框架中使用抽象工厂
【发布时间】:2011-05-01 20:32:49
【问题描述】:

我有一些抽象工厂

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>

我该怎么做?

谢谢。

【问题讨论】:

  • 你的问题很不清楚。请进一步解释。

标签: java spring configuration dependency-injection


【解决方案1】:

尽管你的问题很不清楚,但我想我知道你想知道的。 你可以将一个 spring bean 定义为一个工厂实例,然后像这样设置这个 bean 的工厂方法:

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

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

希望这会有所帮助。 谷歌这个以获取更多信息:p

问候

【讨论】:

  • 其实由于 AbstractViewersFactory 是一个接口,所以答案应该使用&lt;bean id="myFactoryBean" class="Draw2DViewersFactory"&gt;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 1970-01-01
  • 2016-11-15
相关资源
最近更新 更多