Sé que esta es una pregunta antigua, pero no he encontrado ninguna respuesta que me haya resuelto este problema, así que daré mi solución.
Nota: pensé que el problema podría haber sido este , pero mi problema no estaba relacionado con la implementación de la misma interfaz dos veces. El uso @Qualitier
hizo que mi problema desapareciera, pero era un vendaje y no una solución adecuada, así que no me conformé con eso.
ANTECEDENTES
Tengo la tarea de mantener un proyecto antiguo que ha pasado por diferentes versiones de Spring y solo se actualizó para módulos separados, por lo que las cosas necesitaban refactorización, por decir lo menos. Inicialmente obtuve el problema de los frijoles duplicados y jugar con las cosas cambiaba el problema de un lado a otro entre el problema de OP y el problema del frijol duplicado a pesar de que solo había un frijol; la navegación a los beans duplicados siempre fue a la misma clase.
LA CUESTIÓN
El problema estaba presente en una @Repository
clase que estaba @Autowired
en una @Service
clase que también tenía la @ComponentScan
anotación. Noté que también tenía un resorte application-config.xml
que estaba haciendo un context:component-scan
en el paquete base, que creo que era el enfoque original en versiones anteriores de Spring. Estaba en el proceso de hacer una nueva sucursal al tomar partes de una sucursal vieja y una sucursal más nueva en un proyecto de apoyo que se usó en diferentes proyectos que se desarrollaron durante varios años y es por eso que hubo tal combinación de metodologías.
SOLUCIÓN SIMPLE
Como @ComponentScan
ya se implementó el enfoque más moderno de uso , simplemente eliminé el application-config.xml
y el problema se resolvió.