728x90
필요한 데이터로 바로 객체를 만들 수 있다.
정적 메소드의 경우(생성자) 예를들어서 age라는 파라미터가 필요없는 상황이라고 가정했을 때 우리는 age가 없는 생성자를 따로 만들어줘야 한다. 하지만 Builder의 경우 이를 동적으로 처리 가능하다.
진행하는 프로젝트에서는 회원가입을 할 때 dto클래스 내부에 받은 정보만으로 User객체를 build하는 메서드를 아래와 같이 미리 만들어 놓았기 때문에, 실제로 controller에서 signupDto의 toEntity()메서드를 활용해서 바로 user를 DB에 저장할 수 있었다.
@Data
public class SignupDto {
@Size(min=2,max=20)
@NotBlank
private String username;
@NotBlank
private String password;
@NotBlank
private String email;
@NotBlank
private String name;
public User toEntity() {
return User.builder()
.username(username)
.password(password)
.email(email)
.name(name)
.build();
}
}
728x90
'Projects > SNS프로젝트' 카테고리의 다른 글
[댓글] 댓글 구현하기(1) (1) | 2022.02.07 |
---|---|
[회원가입] 회원가입 구현 (0) | 2022.01.17 |
Spring Security의 로그인 절차 (0) | 2022.01.16 |
[개념 정리] 스트링부트 기본 개념 (0) | 2022.01.15 |
스프링부트 등장배경&동작원리 (0) | 2022.01.13 |
댓글