[Spring] 애노테이션 직접 만들기
2023. 10. 17. 22:38ㆍSpring
다음과 같은 상황을 해결하기 위해 애노테이션을 직접 만들어보자
@Qualifier를 쓰게 되면 내가 안에 들어가는 문자가 main인데 mainn으로 잘못 입력할 수도 있다. 근데 이러면 컴파일 오류가 나지 않기 때문에 어디가 틀렸는지 확인하는데 애를 먹을 수 있다. 이러한 경우 mainn으로 입력하면 바로 오류가 뜨도록 애노테이션을 만들 수 있다.
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
@Qualifier("mainDiscountPolicy")
public @interface MainDiscountPolicy {
}
@Documented까지는 Qualifier class에 있는 애노테이션을 그대로 가져온 것이고 우리가 지정할 이름을 @Qualifier로 정해준다.
그리고 @MainDiscountPolicy라는 애노테이션을 사용하게 되면 @MainnDiscountPolicy와 같이 틀리게 작성했을 때에도 컴파일 오류로 오류를 나타내준다. 이걸 이용하면 @Autowired도 재정의할 수 있다고 한다. 하지만 뚜렷한 목적 없이 무분별한 사용은 하면 안된다. 혼란만 생기기 때문이다. 그리고 굳이 @Primary만 써서 해결이 된다면 그것만 사용하는게 현명한 해결책일 것이다.
Reference
학습 페이지
www.inflearn.com
'Spring' 카테고리의 다른 글
[Spring] 빈 자동등록에 대한 나름의 이해 (0) | 2023.10.21 |
---|---|
[Spring] 조회한 빈이 모두 필요할 때에 대한 나름의 이해 (0) | 2023.10.18 |
[Spring] 조회 빈이 두 개 이상일 때 해결편 (1) | 2023.10.14 |
[Spring] 조회 빈이 두 개 이상일 때 생기는 문제에 대한 나름의 이해 (0) | 2023.10.12 |
[Spring] 롬복에 대한 나름의 이해 (0) | 2023.10.09 |