본문 바로가기
JavaScript/Spring

[Springframework] 의존성 주입과 어노테이션 (@Qualifier)

by Alkaloid 2022. 2. 9.
반응형

저번 @AutoWired 어노테이션에 대해 배웠습니다.

오늘은 @Qualifier 어노테이션에 대해 알아보겠습니다.

 

우리가 의존성을 주입하려 할때, 만약. 의존성 주입해야할 객체가 2개일때 어떡할까요? 메모리에는 이미 두개의 객체가 생성 되어있습니다.

쉬운 예로 지금 꾸준히 사용하고 있는 speaker예제를 사용해볼께요!

(잘 모르시는분들은 spring 게시물 처음부터 보시면 이해하기 편할거예요!)

 

우리는 2개의 speaker를 만들었고, speaker라는 인터페이스로 컨트롤을 했습니다. 그리고 객체를 생성하게 되면 두개의 객체가 존재하죠? 그럼 컨테이너는 어떤 객체인줄 알고 할당을 할까요? 답은 컨테이너는 무엇도 선택하지 않고, 에러를 띄웁니다.

 

이러한 경우를 대비하여 스프링에서는 @Qualifier어노테이션을 만들었습니다. 사용하는방법은 간단합니다.

@Autowired밑에 써주기만 하면 됩니다. 그리고 의존성 주입을 할 객체의 이름이나 아이디등을 지정하시면 됩니다. 우리는 2개의 speaker중 원하시는 객체 하나만 지정하시면 됩니다.

 

아래 어떤식으로 사용하는지 예제를 알려드리겠습니다.

반응형