Spring 어노테이션 직접 만들기

강정우·2023년 11월 16일
0

Spring-boot

목록 보기
17/73

어노테이션 직접 만들기

  • 앞서 학습한 @Qualifier라는 좋은 빈 판독기를 알아보았다.
    하지만 이 어노테이션의 단점은 컴파일시 타입체크가 안 된다. -> 그래서 어노테이션을 집적 만들어서 문제를 해결할 수 있다.

1. 어노테이션 생성

  • 우선 프로젝트.프로젝트명 밑에 이름은 annotation이라 하여 package를 하나 만들자. 그리고 해당 패키지 밑에 annotaion을 하나 만드는데 이름은 자유로 하면 된다.

  • 참고로 그냥 JavaClass 생성한 다음 제일 밑에 보면 annotaion이 존재한다.

  • 그래서 다음은 cmd + O ctrl + n 으로 Go to class를 연 다음 qualifier를 검색하면 qualifier를 만들 때 뭐뭐가 필요한지 알 수 있다.

@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
@Qualifier("mainDiscountPolicy")
public @interface MainDiscountPolicy {}
  • 그리고 마지막으로 식별자 Qualifier를 추가하면 컴파일 과정에서도 @Qualifier("mainDiscountPolicy") 역할을 @MainDiscountPolicy가 대신하기 때문에 타입 체크도 가능해진다.
// RateDiscountPolicy.class
@Component
@MainDiscountPolicy
public class RateDiscountPolicy implements DiscountPolicy{...}
  • 그리고 개발시 IDE에서 cmd + B ctrl + B 로 사용하는 코드 추적도 된다.
profile
智(지)! 德(덕)! 體(체)!

0개의 댓글