[Spring] @Data
@Data = @Getter + @Setter + @RequiredArgsConstructor + @toString + @EqualsAndHashCode
Getter, Setter 한 번에 적용.
import lombok.Data;
롬복 자바라이브러리 import하면 됨.
JPA(ORM)을 사용할때는 @Data를 안쓰는게 좋다.
@ToString Annotation 때문
@RequiredArgsConstructor : final이나 @NonNull인 필드값만 파라미터로 받는 '생성자를 만들어주는 어노테이션'
@ToString : toString() 메소드를 작성해주는 어노테이션.
ToString Annotation은 클래스 안의 private를 String 형식으로 return해주는 Annotation
특정 필드값을 toString() 대상에서 제외시키는 exclude 사용 가능.
@EqualsAndHashCode :
Equals와 HashCode method를 같이 생성.
두 객체의 내부의 값이 같은지 숫자로 확인하는 값은 hashcode()
같은 객체인지 확인하는 메소드는 equals()
@Value : 설정파일(.properties, yml)에 설정한 내용을 주입시켜주는 어노테이션. DB 연결에 필요한 정보 등 공개가 곤란한 설정 정보들을 따로 빼두고, 필요한 곳에만 주입하는 기능을 제공함.
출처 :
https://projectlombok.org/features/Data
https://dongdong-119.github.io/blog/backend/2022-12-27-data-annotation/
https://blog.naver.com/sjc02183/221787665730
https://velog.io/@gloom/Lombok-Data%EC%9D%98-EqualsAndHashCode%EC%9D%B4-%EB%AD%90%ED%95%98%EB%8A%94-%EC%95%A0%EC%9D%BC%EA%B9%8C