본문 바로가기
Programming/Spring

@Qualifier

by 막이 2012. 9. 28.

* 타입정보 외의 정보를 추가해서 자동와이어링을 세밀하게 제어할 수 있는 보조적인 방법

타입에 의한 자동와이어링은 안전하기 편리하지만 타입만으로 원하는 빈을 지정하기 어려운 경우가 있다.

<bean is="oracleDS" class="..."/>

<bean is="mysqlDS" class="..."/>

위의 두개의 빈은 둘다 DataSource 타입이다.

이럴경우

@Autowired를 사용하면 에러가 발생 한다

이럴때 @Qualifier를 사용한다.

@Qualifier("oracleDS")

DataSource ds;

// DataSource 타입의 빈중에서 <qulifier> 태그가 있고 그 값이 mainDB인것으로 한정하여 DI

@Autowired

@Qualifier("mainDB")

DataSource dataSource;

<bean id="oracleDS" class="...">

<qulifier value="mainDB"/>

</bean>