스프링이 어떤 빈을 주입해야 할 지 알 수 없어서 스프링 컨테이너를 초기화하는 과정에서 Exception을 발생시킨다.
@Autowired의 주입 대상이 한 개여야 하는데 실제로는 두 개 이상의 빈이 존재해 주입할 때 사용할 객체를 선택할 수 없기 때문이다.
단, @Autowired가 적용된 필드나 설정 메서드의 property 이름과 같은 이름을 가진 빈 객체가 존재할 경우에는 이름이 같은 빈 객체를 주입받는다.
@Qualifier는 사용할 의존 객체를 선택할 수 있도록 해준다.
설정에서 bean의 한정자 값을 설정하고 @Autowired 어노테이션이 적용된 주입 대상에 @Qualifier 어노테이션을 설정한다.
타입이 같은 bean 객체를 검색하고 그것이 1개면 해당 bean 객체를 사용한다.
2-1. 타입이 같은 bean 객체가 두개 이상이고, @Qualifier가 없는 경우 이름이 같은 빈 객체를 찾는다.
* 찾은 경우 그 객체를 사용한다.
2-2. 타입이 같은 bean 객체가 두개 이상이면, @Qualifier가 있는 경우 @Qualifier로 지정한 bean 객체를 찾는다.
* 찾은 경우 그 객체를 사용한다.