Использование абстрактной фабрики с Spring Framework - PullRequest
1 голос
/ 28 октября 2010

У меня есть абстрактная фабрика

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 Ответ

6 голосов
/ 28 октября 2010

Даже если ваш вопрос очень неясен, я думаю, что получил то, что вы хотели знать. Вы можете определить пружинный компонент как экземпляр фабрики, а затем установить фабричный метод этого компонента следующим образом:

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

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

Надеюсь, это поможет. Google это для получения дополнительной информации: p

привет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...