의존관계 주입 방법
생성자 주입
final 을 하게 되면 무조건 하나를 절대적으로 정의해줘야함<aside> 💡 좋은 개발 습관은 “제약”이 있는 것이다.
</aside>
@Autowired 를 안해줘도된다.(생략 가능)수정자 주입(setter 주입)
보통 빈 생성 과정과 생성자 주입 과정이 별도로 존재한다.
<aside> 💡 요즘 많이 쓰는 건 생성자 주입, But 가끔 변경해야할 때 수정자 주입도 쓴다!
</aside>
@Autowired private MemberRepository memberRepository;
@Autowired private DiscountPolicy discountPolicy;
필드 자체에 넣어준다.
코드가 간결하지만 임의로 테스트하기가 어렵다.
애플리케이션 코드와 관계없는 테스트코드에서는 써도 괜찮다.
일반 메서드 주입
@Autowired 를 넣으면 주입이 된다!