Je voudrais résoudre le problème suivant. Travailler sur un projet de printemps où j'ai une classe de configuration de haricots de printemps. Après que je demande à l'un des clients du conteneur, il retourne avec un client avec underscoreNameFormatter. J'ai essayé de déboguer ceci, et j'ai constaté que le printemps appelle customer.setFormatter seulement une fois pendant le début de l'application et l'origine est ma classe de configuration, donc ça a l'air correct, mais à la fin, quand je récupère mon bean du ctx Méthode .getBean le formater est underscoreNameFormatter dans tous les cas.Spring candidats autowire multiples
Alors est-il même possible de surcharger la valeur injectée?
Note: Avec xml config, il est possible de le faire
<bean class="package.Customer">
<property name="formatter">
<bean class="package.HashmarkNameFormatter" />
</property>
</bean>
Je ne pense pas que ce serait la raison. Quand j'arrête avec debug sur la ligne 'return c;' et que j'inspecte l'objet, 'hashmarkNameFormatter' est déjà défini. Quelque mécanisme de ressort le remplace par underscoreNameFormatter quelque part plus tard, mais pas par la méthode 'setFormatter' puisqu'il n'y a pas d'autre appel sur cela. J'ai essayé votre solution de toute façon, mais n'a pas fonctionné. La même chose s'est produite, le champ formateur d'objets client fait référence à un objet 'UnderscoreNameFormatter'. – Joooe