SpringBoot 사용하면서 의존성 주입시 항상 사용하는게 @Autowired를 사용하여 의존성을 주입하게 됩니다.
의존성 주입을 해줘야할 변수들이 많을 경우 변거로움이 있어서 Lombok에서 제공해 주는 @RequiredArgsConstructor를
사용하게 되면 자동으로 의존성을 주입하게 됩니다.
사용예시
@RestController
@RequiredArgsConstructor
@RequestMapping("/example")
public class ControllerExample {
private final FirstService firstService;
...
}
@RequiredArgsConstructor 어노테이션을 사용하지 않고 @Autowired 사용하여 생성자 주입코드 생성 예시
@RestController
@RequiredArgsConstructor
@RequestMapping("/example")
public class ControllerExample {
private final FirstService firstService;
@Autowired
public ControllerExample(FirstService firstService) {
this.firstRepository = firstRepository;
}
}
변수가 새로 생성할때 마다 생성자에 변수를 추가해줘야 한다는게 단점이다.