Plusieurs instances d'un bean
Bonjour,
J'ai défini un "Manager" et un "DAO" commun qui permet d'accéder à différentes tables de ma base de données (hibernate derrière).
Dans mon controlleur, j'utilise @Autowired et @Qualifier pour automatiquement instancier mon manager. Cela fonctionne correctement mais me voici confronter à un problème. Je désire instancier plusieurs fois ce manager pour différentes classes..
Voici mon Controller :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
@Autowired
@Qualifier("commonManager")
private CommonManager<TypeLieu> tlocationManager;
@Autowired
@Qualifier("commonManager")
private CommonManager<TypeCommunication> tcommManager;
@Autowired
@Qualifier("commonManager")
private CommonManager<Initiative> initiativManager;
@Override
protected Map referenceData(HttpServletRequest request, Object command,
Errors errors, int page) throws Exception {
Map<Object, Object> dataMap = new HashMap<Object, Object>();
tlocationManager.loadClass(TypeLieu.class);
dataMap.put("typeLocList",this.tlocationManager.getList());
tcommManager.loadClass(TypeCommunication.class);
dataMap.put("typeCommList",this.tcommManager.getList());
initiativManager.loadClass(Initiative.class);
dataMap.put("initiList",this.initiativManager.getList());
return dataMap;
}
..
..
.. |
Et il se trouve que tlocationManager, tcommManager et initiativManager font référence au même objet !
Voici aussi une partie de mon springmvc-servlet.xml
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<bean id="commonManager" parent="transactionProxy">
<property name="target">
<ref bean="commonManagerTarget"/>
</property>
<property name="transactionAttributeSource">
<bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
</property>
</bean>
<bean id="commonManagerTarget" class="cbc.ccrt.service.impl.CommonManagerImpl" /> |
J'ai essayé de chercher un peu, j'ai cru comprendre qu'il était possible de mettre comme attribut ou propriété : singleton="false" .
J'ai tenté mais il me dit que cet attribut ou cette propriété est invalide..
Comment puis-je procéder ??
J'espère que vous pourrez m'en dire plus.