728x90
반응형
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor
위 3개의 어노테이션은 Lombok 라이브러리에서 제공하는 생성자를 자동으로 생성해주는 어노테이션이다.
@NoArgsConstructor
@NoArgsConstructor 어노테이션은 파라미터가 없는 기본 생성자를 생성한다.
필드에 final 지정 변수가 있을 경우 컴파일 에러가 발생한다.
@NoArgsConstructor
public class MemberDTO {
private final String memberId;
private String name;
private int age;
}
MemberDTO member = new MemberDTO();
@AllArgsConstructor
@AllArgsConstructor 어노테이션은 모든 필드 값을 파라미터로 받는 생성자를 생성한다.
@AllArgsConstructor
public class MemberDTO {
private final String memberId;
private String name;
private int age;
}
MemberDTO member = new MemberDTO("I00001", "zzanggu", 7);
@RequiredArgsConstructor
@RequiredArgsConstructor 어노테이션은 final이나 @NonNull인 필드 값만 파라미터로 받는 생성자를 생성한다.
현재 MemberDTO의 필드중 name, age 변수들은 전부 final도 @NonNull도 아닌 일반 인스턴스 변수이기 때문에 생성할 수 없다.
@RequiredArgsConstructor
public class MemberDTO {
private final String memberId;
private String name;
private int age;
}
MemberDTO member = new Member("I00001");
728x90
반응형
'Programming > Spring' 카테고리의 다른 글
[Java] Jackson ObjectMapper 란? (0) | 2024.01.04 |
---|---|
[Spring] @ComponentScan, @Component 와 @Bean 에 대하여 (0) | 2023.06.26 |
[Spring] @Configuration, @Bean의 동작 방식(싱글톤) (0) | 2023.05.23 |
[Spring] IoC 컨테이너에 등록된 Bean 조회하기 (0) | 2023.05.15 |
[Spring] JPA 개념정리 (Hibernate, Spring Data JPA) (0) | 2023.05.08 |