2010-10-28 8 views
1

J'ai une usine Résuméusine abstraite avec framework Spring

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

Et Sa mise en œuvre Draw2DViewersFactory. Maintenant, je veux créer une classe qui prendra la responsabilité de créer des présentateurs/spectateurs par modèle et de le configurer par Spring. Donc, je dois décrire dans .xml la configuration quelle méthode il devrait appeler. Il peut être quelque chose comme ça (pseudo config)

<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> 

Comment puis-je faire?

Merci.

+0

Votre question est très claire. Approfondissez vos explications, s'il vous plaît. – skaffman

Répondre

6

Même si votre question est très floue, je pense que j'ai compris ce que vous vouliez savoir. Vous pouvez définir un grain de printemps comme une instance d'usine, puis définir la méthode d'usine de ce haricot comme ceci:

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

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

Hope this helps. Google ce pour plus d'informations: p

salutations

+0

merci. Je pense que c'est ce dont j'ai besoin. –

+0

puisque AbstractViewersFactory est une interface, la réponse devrait utiliser '' – herman