Spring Boot 로 개발하다보면 Lombok jar파일을 이용하여 개발을 아주 간편하게 할수 있어 자주 사용된다.
각 어노테이션별 사용법 차이를 알아보자.
| 생성자 어노테이션 종류
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
@NoArgsConstructor - 파라미터가 없는 생성자
해당 어노테이션을 class 위에 정의하면 파라미터가 없는 생성자를 자동으로 생성한다.
만약 final로 필드를 정의한 경우 오류 메세지가 발생한다.
@NonNull 어노테이션이 붙어있는 필드가 있다면 해당 생성자에서 확인하지 않는다.
@AllArgsConstructor - 모든 필드를 파라미터로 가지는 생성자
모든 필드를 파라미터로 가지는 생성자를 생성한다.
@RequiredArgsConstructor - 기본 값이 없고 @NonNull 어노테이션이 붙은 필드를 파라미터로 입력받는 생성자
반드시 필요한 필드들을 파라미터로 하는 생성자를 생성한다.
@NonNull과 같은 어노테이션이 붙은 필드들과, final 로 정의된 필드들을 포함한 생성자를 자동 생성해준다.
클래스의 생성자를 만들어준다. 세 종류를 중복해서 사용할 수 있다.
세 가지 어노테이션 모두 객체를 만드는 static 메소드의 이름을 입력받는 staticName,
생성자의 접근제한자를 설정하는 access 파라미터로 AccessLevel 을 설정할 수 있다. 기본값은 public 이다.
참고
https://projectlombok.org/api/lombok/NoArgsConstructor.html
https://projectlombok.org/api/lombok/RequiredArgsConstructor.html
https://projectlombok.org/api/lombok/AllArgsConstructor.html
AllArgsConstructor (Lombok)
@Target(TYPE) @Retention(SOURCE) public @interface AllArgsConstructor Generates an all-args constructor. An all-args constructor requires one argument for every field in the class. Complete documentation is found at the project lombok features page for @Co
projectlombok.org
기타 참고 : https://projectlombok.org/features/constructor
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
projectlombok.org
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[JAVA] String -> LocalDate 날짜 형식 변환하여 두 날짜 간 일 수 차이 구하기(Period 이용) (0) | 2021.09.07 |
---|---|
[JAVA] List 내부에 포함된 null 항목 삭제하기 (0) | 2021.08.18 |
[JPA] Native Query 이용하여 테이블 여러 개 union 하고 Paging 처리하여 보여주기 (1) | 2021.07.23 |
[SpringBoot] 지정 시간에 배치 @Scheduled cron 속성 세팅 방법 (0) | 2021.06.29 |
[JAVA] SimpleDateFormat 이용하여 원하는 형식으로 날짜 출력하기 (0) | 2021.06.08 |