나는 이것이 오래된 질문이라는 것을 알고 있지만이 문제를 해결 한 답을 찾지 못 했으므로 해결책을 제공하겠습니다.
참고 : 문제가 이것 일 수 있다고 생각 했지만 내 문제는 동일한 인터페이스를 두 번 구현하는 것과 관련이 없습니다. 사용하면 @Qualitier
문제가 사라지지만 붕대 였고 적절한 해결책이 아니기 때문에 해결하지 못했습니다.
배경
나는 다른 버전의 봄을 거치고 별도의 모듈에 대해서만 업데이트 된 오래된 프로젝트를 유지 관리하는 임무를 맡았으므로 리팩토링이 필요했습니다. 나는 처음에 중복 된 빈 문제를 얻었고, 하나의 빈이 있었음에도 불구하고 OP 문제와 중복 빈 문제 사이의 문제를 앞뒤로 바꾸었다. 중복 빈을 탐색하는 것은 항상 동일한 클래스로 이동했습니다.
문제
주석 도 있는 클래스 에있는 @Repository
클래스 에 문제가 있었습니다 . 나는 또한 스프링의 이전 버전에서 원래 접근 방식이라고 생각하는 기본 패키지에서 수행 하는 스프링이 있음을 알았습니다 . 저는 수년에 걸쳐 개발 된 여러 프로젝트에서 사용 된 지원 프로젝트에서 이전 지점과 새 지점의 일부를 가져와 새 지점을 만드는 과정에 있었기 때문에 이러한 믹스 앤 매치가있었습니다. 방법론의.@Autowired
@Service
@ComponentScan
application-config.xml
context:component-scan
간단한 솔루션
보다 현대적인 사용 접근 방식 @ComponentScan
이 이미 구현되었으므로 방금 제거 application-config.xml
하고 문제가 해결되었습니다.