인프런 커뮤니티 질문&답변
메서드 주입 관련 궁금한 것이 있습니다.
작성
·
172
0
안녕하세요, 항상 좋은 답변 달아주셔서 감사합니다.
만약 메서드 주입으로 의존관계를 설정한다고 했을 때, 한 클래스에 유사한 메서드 주입이 있을 경우에는 어떻게 동작하는지 궁금합니다.
private DiscountPolicy discountPolicy;
private MemberRepository memberRepository;
@Autowired
public void init1(DiscountPolicy discountPolicy, MemberRepository memberRepository){
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}
@Autowired
public void init2(DiscountPolicy discountPolicy) {
this.discountPolicy = discountPolicy;
}
@Autowired
public void init3(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}
위의 코드일 때, 코드의 내용은 일반 메서드를 통해서 주입받는 매개변수의 갯수가 차이가 난다거나, 매개변수의 순서가 차이날 때입니다.
이런 경우에는 Autowired의 의존관계 주입이 어떻게 일어나는지 궁금합니다.
항상 좋은 답변 달아주셔서 너무 감사합니다
좋은 하루 되세요.
퀴즈
필드 주입(Field Injection) 방식이 일반적으로 권장되지 않는 이유는 무엇일까요?
불변성을 보장하기 어려워서
의존성 변경이 쉬워서
순수 Java 코드로 테스트하기 어려워서
설정 코드 작성이 복잡해서





