티스토리 뷰

Spring Boot

DTO 의 @Data와 @Setter

seoca 2019. 3. 18. 05:31



@Getter
@NoArgsConstructor
@AllArgsConstructor
public class TravelDto {

@NotEmpty
@Column(name = "startDate")
private String startDate;
@NotEmpty
@Column(name = "endDate")
private String endDate;
@NotEmpty
@Column(name = "country")
private String country;
@NotEmpty
@Column(name = "city")
private int city;
@Column(name = "NumOfPeople")
private String NumOfPeople;
@Column(name = "age")
private String age;
@Column(name = "language")
private String language;
@Column(name = "gender")
private String gender;
@Column(name = "travelType")
private String travelType;
}


DTO에서 Lombok 의 @Data annotation은 @Setter를 자동생성하는데 DB에서 받아온 값이 변경될 일이 없기에(변경 가능성을 남발하지말자) Setter 는 필요하지않고 생성자에서 값을 할당한다. 그래서 @Data 는 사용을 금지하고 대신 @AllArgsConstructor annotation으로 처리한다. 



'Spring Boot' 카테고리의 다른 글

@Builder annotation  (0) 2019.03.22
Injecting beans using constructor  (0) 2019.03.17
Id type은 왜 Long 일까  (0) 2019.03.10
DTO(Data Transfer Object) 와 ModelMapper  (0) 2019.03.10
Constructor Injection  (0) 2019.03.08