entity에서 사용해야할 롬복 애너테이션

허인혜·2022년 10월 18일
0

클래스에서 @Builder 사용하기

@Builder
public class LombokBuilderDemo1 {
  private Long id;
  private String name;
}

@Builder는 객체 생성을 쉽게 도와준다. 단, 기본 생성자를 사용할 수 없다.(JavaBean스펙준수X)

public class LombokBuilderDemo1Test {
  public static void main(String[] args) {
    
    LombokBuilderDemo1 lbd1 = 
    	LombokBuilderDemo1.builder()
        				  .name("Peter")
        				  .id(Long.valueOf(1))
        				  .build();
  }
  
}

--
@AllArgsConstructor 예시

@AllArgsConstructor
public class AllArgsDemo1 {
  private Long id;
  private String username;
}

@AllArgsConstructor는 public 생성자를 만든다. 이 생성자는 각 필드의 값을 인자로 받는다.

public class AllArgsDemo1 {

  private Long id;
  private String username;
  
  public AllArgsDemo1(final Long id, final String username) {
    this.id = id;
    this.username = username;
  }
  
}

--
@NoArgsConstructor 예시

@NoArgsConstructor
public class NoArgsDemo1 {
  private Long id;
  private String username;
}

@NoArgsConstructor는 기본 생성자를 만든다.

public class NoArgsDemo1 {
  private Long id;
  private String username;
  
  public NoArgsDemo1() {
  }
  
}

--
클래스에서 @Getter, @Setter 사용하기

@Getter
@Setter
public class User {
  private Long id;
  private String username;
  private LocalDate lastUpdated;
  public static int maxAge = 40;
  public final int minAge = 20;
}

static이 아닌 모든 필드의 getter(), setter()를 생성한다. final필드의 setter()는 생성이 안된다.

public class User {
  private Long id;
  private String username;
  private LocalDate lastUpdated;
  public static int maxAge = 40;
  public final int minAge = 20;
  
  public Long getId() {
    return this.id;
  }
  public String getUsername() {
    return this.username;
  }
  public LocalDate getLastUpdated() {
    return this.lastUpdated;
  }
  public int getMinAge() {
    return this.minAge;
  }
  public void setId(final Long id) {
    this.id = id;
  }
  public void setUsername(final String username) {
    this.username = username;
  }
  public void setLastUpdated(final LocalDate lastUpdated) {
    this.lastUpdated = lastUpdated;
  }
}
profile
결국잘될사람

0개의 댓글