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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.