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