Post

Lombok builder 사용해보기

Constructor 로 field를 정리하는게 복잡해 보일 때


DTO 를 사용하다보면 필드가 많아지는 경우가 있다!

1
2
3
4
5
6
7
@AllArgsConstructor
public class DTO {
	private String id;
	private String name;
	private String phone;
	private String ...
}

그러면 이 친구를 불러와서 초기화하는것은 조금 귀찮다!

1
DTO dto = new DTO("123","234","345", ...);

이게 사실 몇개 안되면 괜찮은데 필드가 많아지면 어떤 field를 set하는지 잘 보이지 않는다! 이때 BUILDER 를 사용해볼수있다

Builder로 생성해보기


builder도 lombok에서 제공해준다! 아주 간단히 @lombok 을 클래스위에 붙여주변 된다!

1
2
3
4
5
6
7
@Builder
public class DTO {
	private String id;
	private String name;
	private String phone;
	private String ...
}

그러면 이렇게 초기화를 할 수 있게된다!

1
2
3
4
5
6
7
// 필드 추가 전
DTO dto = DTO.builder()
				.id("123")
                .name("234")
                .phone("345")
                .build();

이제 어느 필드가 어떤 값이 들어가는지 손쉽게 확인이 가능하다! 이 뿐만 아니라 초기값을 지정 할 수도 있다

Builder 로 초기값 지정하기


아래 처럼 작성해주면 아주 쉽고 간단하고 보기 쉽게 초기값을 지정 할 수 있다!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Builder
public class DTO {
	private String id;
	private String name;
	private String phone;
	@Builder.Default
	private String role = "USER";
}

// 필드 추가 전
DTO dto = DTO.builder()
				.id("123")
                .name("234")
                .phone("345")
                .build(); // role은 USER가 된다
This post is licensed under CC BY 4.0 by the author.

© 병욱. Some rights reserved.