• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@Qualifer 적용과 Annotation 상속, 생존주기에 관한 질문

22.01.15 14:10 작성 조회수 260

1

안녕하세요!! 다른 분 질문의 답변을 보고 헷갈려서 질문드립니다.
위 질문의 답변에서 @Qualifier 만 사용해도 된다는 답변을 보고 그대로 실행해봤지만 여전히 컴포넌트스캔 과정에서 NoUnique ~ 예외가 나는것을 확인했습니다.
 
그래서 실험해본 결과 아래와 같이 @Retention 을 지정해야 컴포넌트 스캔에 성공하는 것을 확인했습니다.
 
 
조금 알아보니까 @Retention 을 지정하지 않을경우 생존주기가 CLASS로 설정된다는 것을 알았습니다.
 
그래서 @Retention 을 RUNTIME으로 지정해주지 않으면 컴포넌트 스캔은 런타임에 일어나기 때문에 @MainDiscountPolicy 어노테이션이 런타임에는 이미 누락되어 @Qualifier("mainDiscountPolicy") 에 도달 하지 못하는게 아닐까 하는 생각하게 되었습니다.(@Qualifier 에 Retention이RUNTIME으로 지정 되어있어도 애초에 도달하지 못함)
 
이 같은 제 생각에 틀린 부분이 있는지, 아니면 혹시 질문에 대한 답변을 잘못 이해한 것인지 궁금하여 질문드립니다!!
 

답변 1

답변을 작성해보세요.

1

안녕하세요. 이윤환님

@Retention은 자바 언어차원에서 처리되는 부분이기 때문에 생각하신 부분이 맞습니다.

감사합니다.

YH님의 프로필

YH

질문자

2022.01.16

넵!! 일요일인데도 불구하고 답변 감사드립니다!!!