@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
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
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;
}
}