컨텍스트에 동일한 Bean이 있을때, 찾는 방법으로 사용
예) 두개의 같은 Type의 Bean을 등록했을때, 찾는 방법
<context:annotation-config>
<-- Member member = new Member() -->
<bean id="member1" class="example.Member">
<qualifier value="m1"/>
</bean>
<bean id="member2" class="example.Member">
<qualifier value="m1"/>
</bean>
<context:annotation-config/>
//위와 같이 bean이 xml에 등록되어 있을때...
// 이것은 Bean을 가지고 오지 못함 - 실패
// Type 검사에서 두개 발견으로 실패
// 이름 검사에서 bean id에서 member 없음으로 실패
// @Qualifier 없음으로 실패
// 실패
public class Team {
@Autowired
private Member member;
...
}
// 이것은 Bean을 가지고 올수 있음
// Type 검사에서 두개 발견으로 싶패
// 이름 검사에서 bean id에서 member 없음
// @Qualifier에서 찾음 성공
public class Team {
@Autowired
@Qualifier("member1")
private Member member;
...
}
Bean을 못찾은 경우 null이 들어가게 사용방법
@Autowired(required = false)
@Qualifier("member")
@Override
public void setMember(Member member) {
this.member = member;
}