@RestController
@RequiredArgsConstructor
@RequestMapping("/example")
public class RequiredArgsConstructorControllerExample {
private final FirstService firstService;
private final SecondService secondService;
private final ThirdService thirdService;
...
}
Lombok으로 스프링에서 DI(의존성 주입)의 방법 중에 생성자 주입을 임의의 코드없이 자동으로 설정해주는 어노테이션이다.(생성자 주입)
---> 롬복이란?lombok
롬복(Lombok)
롬복은 어노테이션 기반으로 코드를 자동 완성할 수 있는 기능을 제공하는 라이브러리이다.
롬복은 어노테이션을 통해 생성자, Getter, Setter, toString, … 등의 반복적인 메서드 작성을 줄일 수 있다.
Lombok에서 @Getter, @Setter 어노테이션 처럼 @RequiredArgsConstructor어노테이션은 클래스에 선언된 final 변수들, 필드들을 매개변수로 하는 생성자를 자동으로 생성해준다.
@RequiredArgsConstructor는 초기화 되지않은 final 필드나, @NonNull 이 붙은 필드에 대해 생성자를 생성해 준다.
새로운 필드를 추가할 때 다시 생성자를 만들어서 관리해야하는 번거로움을 없애준다. (@Autowired를 사용하지 않고 의존성 주입)
해당 필드로 구성된 생성자를 @RequiredArgsConstructor가 자동으로 생성자 주입에 대한 코드를 생성한다.
@Autowired로 주입한다면,,일일이 ..이렇게 될것이다.
@Autowired
public RequiredArgsConstructorControllerExample(FirstService firstService, SecondService secondService, ThirdService thirdService) {
this.firstRepository = firstRepository;
this.secondRepository = secondRepository;
this.thirdRepository = thirdRepository;
}
'Spring' 카테고리의 다른 글
AA (0) | 2024.03.23 |
---|---|
[Spring] Validator 검증 (0) | 2024.01.11 |
[Spring] 컴포넌트 스캔(Component Scan)이란 무엇일까. (0) | 2023.08.29 |
의존성 주입(Dependency Injection) 방법 3가지 (0) | 2023.08.29 |
스프링 빈을 등록하는 2가지 방법 (0) | 2023.08.29 |