개발/Spring
[Spring] - Builder 패턴
dongdev
2021. 11. 21. 16:48
Lombok을 활용한 Builder 패턴.
@NoArgsConstructor | 파라미터가 없는 기본 생성자 생성 |
@AllArgsConstructor | 모든 필드 값을 파라미터로 받는 생성자 생성 |
@RequiredArgsConstructor | final이나 @NonNull인 필드 값만 파라미터로 받는 생성자 생성 |
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User {
private String name;
private int age;
private int height;
private String phone;
}
User user = User.builder()
.name("홍길동")
.age(28)
.height(180)
.phone("01012345678").build();
+추가)
@Builder(toBuilder=true) : builder 패턴으로 생성된 값의 일부 값을 변경하여 새로운 객체 생성함.
User user2 = user.toBuilder()
.name("김철수")
.age(15).build();
// name, age 만 변경하여 새로운 객체를 생성.