강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 핵심 원리 - 기본편

애노테이션 직접 만들기

Qualifier 빈 생성 질문합니다.

작성

·

285

0

/**1. 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 위에 @Target @Retention,, 등등의 속성을 가져왔는데 그럴필요 없이 @Qualifier만 명시해도 그 안에 속성을 자동으로 데려오는게 아닌지 궁금합니다. 

퀴즈

필드 주입(Field Injection) 방식이 일반적으로 권장되지 않는 이유는 무엇일까요?

불변성을 보장하기 어려워서

의존성 변경이 쉬워서

순수 Java 코드로 테스트하기 어려워서

설정 코드 작성이 복잡해서

답변 1

1

안녕하세요. WON JONGPIL 님, 공식 서포터즈 codesweaver 입니다.

.

말씀하신 것처럼 @Qualifier 에 이미 @Target, @Retention 등이 지정되어 있기에 그대로 사용하려면 아래와 같이 @Qualifier 만 지정해주셔도 정상적으로 동작합니다

@Qualifier("mainDiscountPolicy")
public @interface MainDiscountPolicy {
}

..
감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기