티스토리 뷰
1. 개요
- 자바 언어와 spring framework를 이용하여 개발
- 도메인 객체 생성 시 setter method, getter method, toString method 등을 만들게 됨
이로 인해 클래스 파일의 길이가 길어짐
- 어노테이션을 통해 필드 내에 메서드를 자동생성해줌
2. 내용
1) @Getter: getter method를 생성해줌 (단, 클래스 레벨에 선언할 경우 모든 필드에 생성됨)
2) @Setter: setter method를 생성해줌 (단, 클래스 레벨에 선언할 경우 모든 필드에 생성됨)
3) @ToString: toString method를 생성해줌
4) @EqualsAndHashCode: equals method와 hashCode method를 생성해줌
- callSuper에 true, false로 속성 설정 가능
- callSuper = true: 부모 클래스 필드값도 동일한지 체크
- callSuper = false: 자신 클래스의 필드값만 체크(default)
5) @Data
- 클래스 안에 있는 모든 private 필드에 대해 getter method, setter method를 생성해줌
- 클래스 안에 @ToString 과 @EqualsAndHashCode를 적용시켜 method override를 해줌
- @RequiredArgsConstructor를 지정함
6) @NoArgsConstructor: 기본 생성자를 생성해줌
@RequiredArgsConstructor: final이나 @nonNull인 필드 값만 생성자를 생성해줌
@AllArgsConstructor: 모든 필드 값을 파라미터로 받는 생성자를 생성해줌
( @NotNull 옵션에 따라 null 체크도 해줌 )
3. 예시
package com.xxx.common.security; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.Data; import lombok.NoArgsConstructor; import lombok.NonNull; import lombok.RequiredArgsConstructor; @Data // getter, setter, toString(), hashCode() 생성 @RequiredArgsConstructor // final이나 @nonnull인 필드 값의 생성자 생성 @NoArgsConstructor // 기본 생성자 생성 @JsonIgnoreProperties(ignoreUnknown=true) // json 데이터를 받아와서 객체로 매핑할 때 클래스에 선언되지 않은 properties가 json에 있는 경우 오류가 발생, 이 오류를 무시하기 위해 true 값 지정 public class ServiceAccessDto { @NonNull // null 체크 private Long userNo; @NonNull private String accessUri; @NonNull private String privilegeFlag; // C/R/U/D // @NonNull // @JsonFormat(pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ") // private ZonedDateTime accessTime; private Integer funcNo; private String hasPsnlInfoYn; @NonNull private Integer menuNo; | cs |
'분리수거 대기중' 카테고리의 다른 글
POJO(Plain Old Java Object) (0) | 2019.04.03 |
---|---|
JQuery: radio 버튼 값 설정, 버튼 값 가져오기 (0) | 2019.03.27 |
텍스트 파일 속 데이터 읽기 (0) | 2019.03.09 |
JSON (JavaScript Object Notation) (0) | 2019.03.07 |
자바스크립트로 json 변수에 담겨있는 데이터 추출하기 (0) | 2019.03.07 |