SpringBoot에서 DI를 주입받는 방법

준커·2023년 7월 27일
1
post-thumbnail

@Autowired를 이용한 DI 주입.

1. 필드주입

@Autowired
private MemberRepository memberRepository;

2. 메소드 주입

private MemberRepository memberRepository;

@Autowired
public void setMemberRepository(MemberRepository memberRepository){
	this.memberRepository = memberRepository;
}

3. 생성자 주입

private final MemberRepository memberRepository;

@Autowired
public MemberService(MemberRepository memberRepository) {
	this.memberRepository= memberRepository;
}

Spring 4.3버전 부턴 생성자가 1개일 때 @AutoWired를 붙이지 않아도 자동으로 DI를 주입해줌.

private final MemberRepository memberRepository;

public MemberService(MemberRepository memberRepository) {
	this.memberRepository= memberRepository;
}

이러한 특징을 이용하여 final 필드로만 구성된 생성자를 만들어주는 Lombock의 @RequiredArgsConstructor를 이용하면 2줄로 끝낼 수 있다.

@RequiredArgsConstructor를 이용한 DI 주입.

@RequiredArgsConstructor
public class MemberService {
    private final MemberRepository memberRepository;

2개의 댓글

comment-user-thumbnail
2023년 7월 27일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

답글 달기
comment-user-thumbnail
2023년 8월 8일

잘 보고 가요~

답글 달기