본문 바로가기

Java/Spring

스프링 @Autowired와 @Qualifier 사용법




스프링은 @Autowired 어노테이션을 통한 자동 주입을 지원한다.


아래와 같이 동일한 타입의 Bean이 두개이상 존재할 경우, 초기화 과정에서 익셉션이 발생한다.

<bean id="autowiredClass1" class="class.AutowiredClass"></bean>
<bean id="autowiredClass2" class="class.AutowiredClass"></bean>


스프링은 이런 문제를 해결하기 위해서 @Qualifier 어노테이션을 제공한다.


사용법은 아래와 같다.


<bean id="autowiredClass1" class="class.AutowiredClass">
    <qualifier value="autowiredClass1" /></bean>
<bean id="autowiredClass2" class="class.AutowiredClass"></bean>
public class autowiredTargetClass {
    @Autowired
    @Qualifier("autowiredClass1")
    public void setAutowired(AutowiredClass autowiredClass) {
    ....
    }
}