참고 : DI(Dependency Injection)
- DI의 세가지 방식
1. 필드 주입
@Autowired
private MemberService memberService;
2. setter 주입
@Autowired
public void setMemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
3. 생성자 주입
@Autowired
public MemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
- 의존관계가 실행 중에 동적으로 변경되는 경우는 거의 없으므로, 생성자 주입을 권장.