본문 바로가기

Server Oriented/Spring

스프링 Lombok Annotations, @Getter @Setter @ToString

Lombok(롬복) 의 Annotation 들은 모두 class 에 설정하고,

@Builder 의 경우 파라미터가 있는 생성자 메소드에도 설정 가능.

 

 

 

@Getter

@Setter

@ToString

 

 

 

@EqualsAndHashCode

- (of="...")

해당 Entity 하나를 기준으로 HashCode 메서드 추가

- (of={"...","...",...})

해당 Entity 여럿을 기준으로 HashCode  메서드 추가

 

 

 

@NoArgsConstructor

- 파라미터(인자) 없는 생성자  메서드 추가, 기본 생성자

 

@RequiredArgsConstructor

- @NonNull 또는 final 등을 설정한 Entity 정의된 순서 대로 파라미터로 구성된 생성자 메서드 추가

 

@AllArgsConstructor

- Entity 정의된 순서 대로 모두가 파라미터로 구성된 생성자 메서드 추가

 

 

 

@Data

- @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor 등을 모두 @Data 하나로 대체

 

 

 

@Builder

- class 에 @Builder 설정시,  @AllArgsConstructor 를 적용하면서, static Builder 패턴인 ABuilder 클래스 자동 생성.

- 생성자 method 에 @Builder 설정시, 특정 생성자의 파라미터를 Entity 로 갖는 static Builder 패턴인 ABuilder 클래스 자동 생성. A 클래스의 엔터티들 중 몇 개만 사용하는 경우 적용.

 

 

 

@Slf4j (Simple Logging Facade for Java)

- private static final Logger log = LoggerFactory.getLogger(클래스.class); 자동생성.