0. 장단점
[장점]
1. 쉽고 안전하게 객체를 생성
2. 선언 순서에 상관없이 객체 생성이 가능
3. 필수 파라미터가 아니면 사용할때 skip 가능
[단점]
1. 필요한 파라미터값만 세팅이 가능하다보니 Null Exception에 취약 -> Assert로 보완
1. 사용법
1-1. @Builder 어노테이션 선언
@Getter
@ApiModel(description = "연관검색어")
public class RecomKeyword {
@ApiModelProperty(value = "키워드")
private String keyword;
@Builder
public RecomKeyword(String keyword) {
this.keyword = keyword;
}
}
NPE 발생의 우려로 Assert를 사용하여 좀더 안전하게 보완 + NotEmpty 어노테이션
@ApiModel(description = "연관검색어")
public class RecomKeyword {
@ApiModelProperty(value = "키워드")
@NotEmpty
private String keyword;
@Builder
public RecomKeyword(String keyword) {
Assert.hasText(keyword, "keyword is empty");
this.keyword = keyword;
}
}
파라미터의 값이 null이면 Assert가 IllegalArgumentException을 발생시키며 중단된다.
1-2. 사용
recommentKeywords.add(RecomKeyword.builder()
.keyword(out_str)
.build());
반응형
'Java' 카테고리의 다른 글
Reflection (0) | 2023.01.20 |
---|---|
@Transactional (0) | 2023.01.19 |
@Valid - 객체 유효성체크 (0) | 2023.01.19 |
API - MultipartFile 파일전송 (0) | 2023.01.19 |
COLLECTION (0) | 2023.01.19 |