Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- port
- find
- VirtualBox
- context
- Source
- Mac
- bash
- Quartz
- web.xml
- xargs
- vscode
- GIT
- maVen
- 네트워크
- JavaScript
- Eclipse
- resource
- tomcat
- grep
- IntelliJ
- import
- netsh
- lsof
- ssh
- profile
- plugin
- 줄바꿈 문자
- 단축키
- Windows 10
- Windows
Archives
- Today
- Total
develog
lombok @Builder 사용시 필수 필드 사용 본문
lombok @Builder 사용시 필수 필드를 입력받도록 기존 builder 메소드를 재정의한다
import lombok.Builder;
import lombok.ToString;
// 기존 builder 이름을 innerBuilder 로 변경하고
@Builder(builderMethodName = "innerBuilder")
@ToString
public class MemberDto {
// required
private final String name;
// optional
private int age;
private String address;
// builder 메소드를 재정의해서 필수 필드를 입력받도록 변경
public static MemberDtoBuilder builder(String name) {
return innerBuilder().name(name);
}
}
사용
// .builder() 사용시 필수 필드를 먼저 입력
MemberDto memberDto = MemberDto.builder("john")
.age(10)
// .address("seoul")
.build();
System.out.println("memberDto = " + memberDto);
// memberDto = MemberDto(name=john, age=10, address=null)
다른 방법 #2
- 클래스 레벨에 @Builder 를 붙이고
- 필수 필드에 @NonNull 애노테이션을 적용한다
import lombok.Builder;
import lombok.Data;
import lombok.NonNull;
@Builder
@Data
static class Person {
@NonNull
private String name; // required
private Integer age; // optional
}
Comments