728x90
@Qualifier("지정명") 어노테이션의 단점
- 지정이 필요한 모든 곳에 일일이 작성해야 한다(빈, 메서드 등 등)
- 지정명이 문자열이므로 컴파일 단계에서 에러가 발생하지 않는다. -> 런타임 시에만 발견됨. 오타 등에 취약함
사용상의 불편함은 그렇다 치고, 오타 등으로 런타임 에러 뜨면 여러모로 불편하니 이걸 극복해보자.
이를 극복하기 위한 것이 어노테이션을 활용하는 방법이다.
아래와 같이 애노테이션을 작성하면,
1. 일반적인 작성법과 동일하게 작동하며,
2. 컴파일 단계에서 에러를 잡을 수 있게 된다.
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
@Qualifier("mainDiscountPolicy")
public @interface MainDiscountPolicy {
}


참조자료 : 스프링 핵심원리 기본편 (김영한)
728x90
'스프링' 카테고리의 다른 글
| Log를 (기본만) 알아보자 (1) | 2023.05.16 |
|---|---|
| request 스코프 작성 (0) | 2023.04.07 |
| @Qualifier 단점 - 컴파일 단계에서 오류가 안 잡힘. (0) | 2023.03.31 |
| DI는 생성자 주입으로 하자 (1) | 2023.03.30 |
| @Autowired (0) | 2023.03.29 |
댓글