@RequiredArgsConstructor 란?
- Lombok으로 스프링에서 DI(의존성 주입)의 방법 중에 생성자 주입을 임의의 코드 없이 자동으로 설정해주는 어노테이션이다.
초기화 되지 않은 final 필드나, @NonNull이 붙은 필드에 대해 생성자를 생성해 준다.
- 새로운 필드를 추가할 때 다시 생성자를 만들어서 관리해야하는 번거로움을 없애준다.
- @Autowired를 사용하지 않고 의존성을 주입해준다.
- 자동적으로 생성자가 만들어지기 때문에 내가 예상하지 못한 결과나 오류가 발생할 수 있기 때문에 이런 점도 염두해둬야 한다.
@Service
@RequiredArgsConstructor
public class TestService {
private final TestRepository1 testRepository1;
private final TestRepository2 testRepository2;
}
@Service
public class TestService {
private final TestRepository1 testRepository1;
private final TestRepository2 testRepository2;
@Autowired
public TestService(TestRepository1 testRepository1, TestRepository2 testRepository2) {
this.testRepository1 = testRepository1;
this.testRepository2 = testRepository2;
}
}