일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Git
- @Entity
- KAKAOLOGINAPI
- 캐쉬가능
- 네이버로그인API
- 매핑정보가없는필드
- gitreset
- ERROR TYPE : org.apache.ibatis.binding.BindingException
- SpringBoot
- Invalid bound statement (not found)
- 자바ORM표준프로그래밍
- 멱등활용
- @Table
- Transaction not successfully started
- 김영한JPA
- 네이버 연결된 서비스
- 데이터베이스 방언
- JPA
- gitrevert
- RFC723x
- http
- 무상태프로토콜
- HTTPMESSAGE
- DB방언
- hibernate.dialect
- initialDelay
- HTTP3
- anyMatch
- fixedDelay
- org.apache.ibatis.binding.BindingException
Archives
- Today
- Total
twocowsong
@Data 본문
@Data는 정말간편하다. Class의 Getter, Setter를 만드는데 @Data 한줄이면 이만큼 편리한게 없다. 허나 @Data도 모르고 막사용하면 원치않는경우에 잘못된 사용방법으로 문제가 될수있다.
@Data
public class Car {
private String carName;
private int speed;
private int gear;
}
Car 클래스가 존재 할경우 @Data는 정말 많은것을 해준다.
컨트롤러, 서비스 등 다른곳에서 사용할경우 Getter, Setter, toString 정도를 사용할것으로 예상한다. 허나 @Data 그외에 많은것을 더 포함하고있다.
@Data 구성
@ToString
@Getter : 모든 필드
@Setter : 정적 필드가 아닌 모든 필드
@RequiredArgsConstructor : 어노테이션은 final이나 @NonNull인 필드 값만 파라미터로 받는 생성자를 만들어준다.
@EqualsAndHashCode : equals, hashCode 자동 생성
- equals : 두 객체의 내용이 같은지, 동등성(equality) 를 비교하는 연산자
- hashCode : 두 객체가 같은 객체인지, 동일성(identity) 를 비교하는 연산자 (객체의 값이 같아도 주소가 다르면 다른객체로 판단함)
이렇게 @Data는 Getter, Setter 만이아니라 다른 어노테이션도 포함하고있음으로 사용할때 무차별적으로 @Data를 사용하기보다는 아래와같이 사용해주자.
@Getter
@Setter
public class Car {
private String carName;
private int speed;
private int gear;
}
하지만 자신이 @Data를 잘알고있다면! @Data를 사용하셔도 무방합니다.
'IT > SpringBoot' 카테고리의 다른 글
@RestController @Controller (0) | 2022.01.24 |
---|---|
@Scheduled (0) | 2022.01.23 |
Redirect, forward, RedirectAttributes (0) | 2022.01.23 |
@ModelAttribute, @PathVariable, @RequestBody (0) | 2022.01.18 |
@Value 어노테이션 (0) | 2022.01.18 |