반응형
@Qualifier 와 같이 이름으로 Annotation 을 지정하면 complile 타임에서는 오류가 발생하지 않아 찾기가 어렵습니다.
@Component
@Qualifier("mainPolicy")
위의 경우 "mainPlicy" 로 Qualfier 를 지정하였지만 생성자로 사용할때 등 에서 오타가 발생하더라도 알수가 없습니다.
그래서 annotation 을 직접 만들어서 사용하면 이러한 부분을 방지하고 complie 타임에 오류를 확인할 수 있습니다.
Interface 로 신규 생성합니다.
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
@Qualifier("mainDiscountPolicy")
public @interface MainPolicy {
}
노랑색 부분을 제외하고는 이미 정의된 Qualifier 에서 가져오면 됩니다.
그 후 Component 에서 Qualfier 를 선언할때 아래와 같이 해주면 됩니다.
@Component
@MainPolicy
반응형
'IT > Java' 카테고리의 다른 글
화면 꺼짐 방지 (마우스 이동) (0) | 2024.01.31 |
---|---|
http request 상세 정보 로깅 (0) | 2023.02.28 |
제어의 역전(IoC, Inversion of Control) (0) | 2023.02.23 |
[IDE] Intellij Gradle 대신 Java 에서 실행 (0) | 2023.02.20 |
[IDE] Intellij 단축키 for Windows (0) | 2023.02.20 |