Я знаю, что это старый вопрос, но я не нашел ответов, которые решали бы эту проблему для меня, поэтому я предоставлю свое решение.
Примечание: я думал, что проблема могла быть в этом , но моя проблема не была связана с реализацией одного и того же интерфейса дважды. С помощью@Qualitier действительно решило мою проблему, но это была повязка, а не подходящее решение, поэтому я не соглашался с этим.
ЗАДНИЙ ПЛАН
Мне поручено поддерживать старый проект, который прошел через разные версии spring и обновлялся только для отдельных модулей, поэтому, мягко говоря, потребовался рефакторинг. Изначально у меня возникла проблема с дублированием bean, и, когда я возился с вещами, проблема менялась между проблемой OP и проблемой дублированного bean, даже если был только один bean; переход к повторяющимся bean-компонентам всегда происходил в одном классе.
ПРОБЛЕМА
Проблема присутствовала в @Repositoryклассе, который был @Autowiredв @Serviceклассе, который также имел @ComponentScanаннотацию. Я заметил, что у меня также была пружина, application-config.xmlкотораяcontext:component-scan Spring, который базовый пакет, что, как мне кажется, было оригинальным подходом в более старых версиях Spring. Я был в процессе создания новой ветки, взяв части старой ветки и новой ветки в проекте поддержки, который использовался в различных проектах, которые разрабатывались в течение нескольких лет, и поэтому было такое сочетание и совпадение методологий.
ПРОСТОЕ РЕШЕНИЕ
Поскольку более современный подход к использованию @ComponentScanуже был реализован, я просто удалил, application-config.xmlи проблема была решена.