[Spring, Spring Boot] @RequiredArgsConstructor란 ?프로그래밍/Java2024. 4. 1. 00:03
Table of Contents
728x90
@RequiredArgsConstructor란 ?
Lombok으로 스프링에서 DI(의존성 주입)의 방법 중에 생성자 주입을 임의의 코드없이 자동으로 설정해주는 어노테이션입니다.
@RequiredArgsConstructor는 초기화 되지 않은 final 필드나, @NonNull이 붙은 필드에 대해 생성자를 생성해줍니다 !
새로운 필드를 추가할 때 다시 생성자를 만들어서 관리해야하는 번거로움을 없애줍니다.(@Autowired를 사용하지 않고 의존성 주입할 수 있습니다.)
[@RequiredArgsConstructor 예시]
@Controller
@RequiredArgsConstructor
@RequestMapping("/user")
public class RequiredArgsConstructorControllerExample {
private final FirstService firstService;
private final SecondService secondService;
private final ThirdService thirdService;
...
}
해당 필드로 구성된 생성자를 @RequiredArgsConstructor가 자동으로 생성자 주입에 대한 코드를 생성해줍니다.
보통 DI(의존성 주입)을 방식에는 필드 주입(Field Injection), 수정자 주입(Setter Injection), 생성자 주입(Constructor Injection)의 3가지의 방법이 있지만 이중에서 가장 권장하는 의존성 주입은 생성자 주입 방식입니다.
하지만 생성자 주입을 위한 코드를 만드는 부분에서 번거로운이 존재합니다.
그래서 많이 사용하는 Lombok에서 @Getter, @Setter 어노테이션 처럼 @RequiredArgsConstructor어노테이션은 클래스에 선언된 final 변수들, 필드들을 매개변수로 하는 생성자를 자동으로 생성해주는 어노테이션입니다 !
'프로그래밍 > Java' 카테고리의 다른 글
[Spring, Spring Boot] @Transactional의 중첩에 대하여 (0) | 2024.04.12 |
---|---|
[Spring, Spring Boot] @Configuration이란 ? (0) | 2024.04.12 |
[Spring, String Boot] StringUtils 사용 방법 (0) | 2024.04.08 |
[Spring, Spring Boot] @Controller와 @RestController (0) | 2024.03.31 |
[Spring Boot] ChatGptAPI 사용하기 (0) | 2024.03.13 |
@차나니 :: 차나니의 개발일지
개발의 모든 것 !
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!