인프런 커뮤니티 질문&답변
@Qualify, @Primary보다 @Autowired + @RequiredArgsConstructor이 최고의 방법 아닌가요?
작성
·
375
0
안녕하세요. 강의를 듣는 중 두 가지 궁금한 점이 생겨서 질문 남기게 됐습니다.
1. 제목의 내용과 같습니다. 쉽게 말해 두 개 이상의 동일한 타입의 빈이 등록 돼 있을 경우 아래와 같이 사용할 수 있더군요.
여기서 보면 RequiredArgsConstructor를 통해 두 final 변수를 매개변수로 생성자를 생성했습니다. 그리고 필드 명을 fixDiscountPolicy로 바꿔주므로써 DiscountPolicy 타입으로 등록된 두개의 빈 중 fixDiscountPolicy가 선택돼 주입되도록 했습니다.
이 방법이 최고의 방법이라고 생각한 이유는 DiscountPolicy에 의존하므로써 추상화에만 의존하는 법칙을 지키면서 해당 구현체로 뭘 쓰고 있는지 변수명으로 파악이 가능하기 때문입니다.
이 부분에 대해서 생각한 부분이 맞는지 궁금합니다.
2. @RequiredArgsConstructor를 사용하면 @Qualifier를 쓸 수 없나요?
감사합니다.
퀴즈
What are the main reasons why Field Injection is generally not recommended?
Because it is difficult to guarantee immutability
Because changing dependencies is easy
Because it's difficult to test with pure Java code
Because writing configuration code is complex
답변 2
0
0





