Spring | lombok

DoItDev·2021년 1월 28일
0
post-thumbnail

접근자 / 설정자 자동생성

Lombox 어노테이션에서 자주 사용되고 있는 어노테이션은 @Getter@Setter 이다.
대부분의 DTO 를 만들다 보면 getter 메소드 와 setter 메소드를 만들어 주어야된다.
이러한 번거로움을 줄여주기 위하여 Lombok 에서는 두 어노테이션을 지원해준다.

특정 변수만 생성하는 법

@Getter 
@Setter
private String test;

필드값 전체 생성하는 법

@Getter
@Setter
public class Test {
   private String test1;
   private String test2;
}

생성자 자동 생성

Lombok을 사용하면서 자동으로 생성자를 생성해줄 수 있다
@NoArgsConstructor 의 어노테이션은 파라미터가 없는 기본적인 생성자를 생성해준다.
@AllArgsConstructor 의 어노테이션은 모든 파라미터 필드 값을 생성해준다.
@RequiredArgsConstructor 의 어노테이션은 final 이나 @NonNull 인 필드 값만 파라미터로 받는 생성자를 생성해준다

@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
public class User {
  private Long id;
  @NonNull
  private String username;
  @NonNull
  private String password;
  private int[] scores;
}

@Date 어노테이션

@Date 어노테이션의 경우 @Getter , @Setter , @RequiredArgsConstructor,@ToString,@EqualsAndHashCode
을 한번에 설정해주는 어노테이션 입니다.
사용방벙의 경우 클래스 레벨에서 @Date 어노테이션을 작성을 해주면 모든 필드에서
@Getter , @Setter , @RequiredArgsConstructor,@ToString,@EqualsAndHashCode 이 생성이 됩니다

@Date
public class Test {
   private String test1;
   private String test2;
}

@ToString 어노테이션

toString 메소드르 Override 해서 각각의 필드들을 출력할 수 있게 하는 메소드이다
특정 필드를 출력하지 않게 하기 하려면 includeFieldNames = false
특정 필드를 포함하지 않게 하려면 exclude = { "test1" , "test2" }
특정 필드를 포함하려면 of = { "test1" , "test2" }
클래스 레벨에서 toString() 호출을 하려면 callSuper = true
기본적으로 getter 가 있다면 해당 메소드가 호출

@toString
public class Test {
    private String test1;
    private String test2;
}

@EqualsAndHashCode 어노테이션

equals , hashCode 메소드 자동생성 어노테이션

equals : 두 객체의 내용이 같은지 비교하는 메소드 ( 동등성 )
hashCode : 두 객체가 같은 객체인지 비교하는 메소드 ( 동일성 )
@EqualsAndHashCode
public class Test {
    private String test1;
    private String test2;
}
profile
Back-End Engineer

0개의 댓글