@Getter
private String name;
public String getName() {
return this.name;
}
@Setter
private String name;
public void settName(String name) {
this.name = name;
}
@AllArgsConstructor
- 모든 필드 값을 파라미터로 받는 생성자를 생성
(이 경우 @Data가 자동 생성한 기본 생성자는 사라진다)
@NoArgsConstructor
- 파라미터를 가지지 않는 생성자를 생성
@ToString
- 자동으로 toString() 메소드를 생성
※ @Tostring(exclude = "id") 와 같이 exclude를 사용하면 결과에서 id를 제외시킬 수 있다.
@EqualsAndHashCode(callSuper = [ true | false ])
- equals : 두 객체의 내용이 같은지, 동등성(equality)를 비교
- hashCode : 두 객체가 같은 객체인지, 동일성(identity)를 비교
- true : 부모클래스 필드 값들도 동일한지 체크
- false(기본값) : 자신 클래스의 필드 값만 고려
@Data
- Getter, Setter, hashCode, equals, toString 메소드를 모두 자동으로 추가
@NonNull
- 해당 변수가 null 로 넘어온 경우, NullPointerException예외를 일으켜 준다.
@NonNull @Setter
private String name;
obj.setName(null); // NullPointerException 예외 발생
@Builder
@Builder
public class User {
private String name;
private String birth;
private int age;
}
User.builder()
.name("개발자")
.age(20)
.build();
Builder 참고 : https://m-html.tistory.com/61
참고자료
728x90