Pourquoi le ressort choisit-t-il automatiquement les types de superclasses lors de la mise en forme de la mise au point automatique?
Par exemple, si j'ai p> et une personne autobile p> Comment le printemps choisit toujours le Superype Ne vous avez pas techniquement FOO code>? Ce ne devrait-il pas être une cartographie "
FOO code> candidats? (E.G., la barre obtient choisie automatiquement em> lorsque @Component est retiré de FOO ...) P> P>
3 Réponses :
La mise en forme d'automne peut fonctionner à l'aide de nom de type et de haricot, en fonction de la manière dont vous l'avez configurée. P>
Dans ce cas, car il y a deux haricots de type Que se passe-t-il si vous renommez foo code>, l'instance
foo code> peut être choisie car elle correspond au nom de la variable
foo code>. p>
foo code> à quelque chose d'autre? p>
Ce pourrait être parce que la mise en forme d'automne est faite par nom, pas de type. Si je configurais ma bean à l'aide de XML comme ceci: et tentative d'autobile par type: p> i get p> < Pré> xxx pré> p>
S'il y a deux haricots du même type, le ressort essaie de résoudre la dépendance du nom de la variable que vous avez spécifiée. Si le nom ne correspond pas à aucun des noms de haricots, il lancera une erreur. Mais, s'il trouve un nom de haricot correspondant à celui du nom de variable que vous avez spécifié, il sera injecté de ce haricot. Ainsi, lors de l'injection de dépendances, le printemps considère que le type et le nom. P>