Ich weiß, dass dies eine alte Frage ist, aber ich habe keine Antworten gefunden, die dieses Problem für mich gelöst haben, daher werde ich meine Lösung bereitstellen.
Hinweis: Ich dachte , das Problem gewesen sein mag dies , aber mein Problem wurde nicht im Zusammenhang mit der gleichen Schnittstelle zweimal implementieren. Die Verwendung @Qualitier
hat mein Problem behoben, aber es war ein Verband und keine richtige Lösung, also habe ich mich damit nicht zufrieden gegeben.
HINTERGRUND
Ich habe die Aufgabe, ein altes Projekt zu pflegen, das verschiedene Versionen des Frühlings durchlaufen hat und nur für separate Module aktualisiert wurde. Daher mussten die Dinge, gelinde gesagt, überarbeitet werden. Ich hatte anfangs das Problem mit doppelten Bohnen bekommen, und das Basteln mit Dingen änderte das Problem zwischen dem Problem von OP und dem Problem mit doppelten Bohnen hin und her, obwohl es nur eine Bohne gab. Das Navigieren zu den doppelten Beans ging immer zur gleichen Klasse.
DAS THEMA
Das Problem war in einer @Repository
Klasse vorhanden, die sich @Autowired
in einer @Service
Klasse befand, in der auch die @ComponentScan
Anmerkung enthalten war. Ich bemerkte, dass ich auch eine Feder hatte application-config.xml
, die ein context:component-scan
Basispaket ausführte, was meiner Meinung nach der ursprüngliche Ansatz in älteren Versionen von Spring war. Ich war dabei, eine neue Niederlassung zu gründen, indem ich Teile einer alten und einer neueren Niederlassung in ein Unterstützungsprojekt einbezog, das in verschiedenen Projekten verwendet wurde, die über mehrere Jahre hinweg entwickelt wurden, und deshalb gab es eine solche Mischung von Methoden.
EINFACHE LÖSUNG
Da der modernere Verwendungsansatz @ComponentScan
bereits implementiert war, habe ich ihn einfach entfernt application-config.xml
und das Problem wurde gelöst.