해결된 질문
작성
·
196
답변 2
2
예를들어 BookRepository Interface를 구현한
MyBookRepository, YouBookRepository 클래스가 두 개가 존재하고
모두 Bean으로 등록이 되어 있다고 가정한다면
특정 Service에서
@Autowired
BookRepository bookRepository; // Error
와
@Autowired
BookRepository myBookRepository; // No Error
의 차이는 '전자'는 동일한 타입의 Bean이 여러 개 등록되어 있기때문에 에러가 발생하는 것이고,
'후자'는 동일한 타입의 Bean이 여러 개 등록되어 있다고 한들 특정 객체를 지시하고 있기에 에러가 발생하지 않는 이유겠군요.
이 또한 스프링 프레임워크에서 제공하는 기능이구요.
2
객체의 타입은 같고 객체의 이름은 다르다 => 정상
객체의 타입은 다르고 객체의 이름은 같다 => 에러
인것 같은데요..
객체의 이름으로 주입이 된 이유는 동일한 타입의 bean이 여러개 있기 때문에 객체의 이름으로 판단한것 같네요