4 votes

Autowired plus d'un ?

J'utilise

<context:component-scan base-package="com.package.dao"/> (Spring 3)

et dans mes contrôleurs avec @Autowired récupérera automatiquement le DAO dont j'ai besoin. C'est parfait et cela fonctionne. Le problème est que j'ai besoin de plus d'un gestionnaire de DAO. Comment puis-je faire ? J'ai essayé avec @Qualifier mais je ne suis pas sûr du nom du dao-manager. className ne fonctionne pas.

quelqu'un peut m'aider ?

Merci !

5voto

abalogh Points 5996

Voir dans le documentation sur le printemps :

@Autowired concerne fondamentalement l'injection pilotée par les types avec des qualificatifs sémantiques facultatifs. Cela signifie que les valeurs des qualificateurs, même lorsqu'elles utilisent le nom du haricot, ont toujours une sémantique restrictive dans l'ensemble des correspondances de type ; elles n'expriment pas sémantiquement une référence à un identifiant unique du haricot.

...

Si vous avez l'intention d'exprimer l'injection pilotée par annotation par le nom, n'utilisez pas principalement @Autowired - même si elle est techniquement capable de faire référence à un nom de haricot à travers les valeurs @Qualifier. Préférez plutôt l'annotation JSR-250 @Resource qui est sémantiquement définie pour identifier un composant cible spécifique par son nom unique, le type déclaré n'étant pas pertinent pour le processus de correspondance.

Utilisez plutôt @Resource, voir aquí .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X