티스토리 뷰
Lombok 어노테이션 (코드 자동 생성) <=개꿀
반복되는 코드를 줄여주는 라이브러리.
@Getter, @Setter
- 설명: 각 필드의 게터, 세터 메서드를 자동으로 생성.
- 특정 필드 or 클래스 전체의 접근자 메서드를 만들고 싶을 때 이용.
@Getter
@Setter
public class User {
private String name;
private int age;
}
@NoArgsConstructor
- 설명: 기본생성자(파라미터가 없는 생성자)를 자동으로 생성.
- JPA Entity나 DTO에서 기본 생성자가 필요한 경우 사용.
@AllArgsConstructor
public class User {
private String name;
private int age;
}
@AllArgsConstructor
- 설명: 모든 필드를 파라미터로 받는 생성자를 생성.
- 테스트나 객체 생성시 모튼 필드를 빠르게 초기화 하고 싶을 때 사용.
@AllArgsConstructor
public class User {
private String name;
private int age;
}
@RequiredArgsConstructor
- 설명: final 필드나 @NotNull 필드만을 파라미터로 받는 생성자를 생성.
- 의존성 주입(DI) 시 final 필드에 대한 생성자 자동 생성이 필요할 때. 사용.
@RequiredArgsConstructor
public class UserService {
private final UserRepository userRepository;
@NonNull
private String serviceName;
private int counter; // 포함되지 않음
}
위 클래스는 다음과 같은 생성자를 자동으로 생성한다.
public UserService(UserRepository userRepository, String serviceName) {
this.userRepository = userRepository;
this.serviceName = serviceName;
}
@Data
- 설명: @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor
등을 모두 포함한 어노테이션
- 복잡한 로직에서는 EqualsAndHashCode나 ToString 오버라이딩 문제로 사용 주의.
@Data
public class User {
private String name;
private int age;
}
'JAVA' 카테고리의 다른 글
| Spring 어노테이션@ (프레임워크 기능 정의) (1) | 2025.06.09 |
|---|
