문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 마지막 판 양쪽 다음 판 | ||
java:lombok [2021/02/02 18:55] kwon37xi [1.16.20 @ConstructorProperties] |
java:lombok [2021/02/10 23:05] kwon37xi |
||
---|---|---|---|
줄 81: | 줄 81: | ||
* 1.4 이하 Ant 태스크 : '' | * 1.4 이하 Ant 태스크 : '' | ||
* 1.6 이상 Ant 태스크 : '' | * 1.6 이상 Ant 태스크 : '' | ||
+ | |||
+ | ==== Boolean 필드 문제 ==== | ||
+ | * [[https:// | ||
+ | * '' | ||
+ | * '' | ||
+ | * 따라서 '' | ||
+ | * '' | ||
===== Upgrade 주의점 ===== | ===== Upgrade 주의점 ===== | ||
줄 102: | 줄 109: | ||
<code java> | <code java> | ||
- | @JsonProperty(" | + | @JsonProperty(" |
- | private int yyy; | + | private int isXxx; |
-> 진짜 생성은 | -> 진짜 생성은 | ||
- | @JsonProperty(" | + | @JsonProperty(" |
- | private int yyy; | + | private int isXxx; |
- | public void setYyy(int yyy) { | + | public void setXxx(int xxx) { |
- | this.yyy = yyy; | + | this.isXxx = xxx; |
} | } | ||
- | -> 이로 인해서 JSON 에 XXX, yyy 두개의 필드가 존재하게 됨. | + | -> 이로 인해서 JSON 에 '' |
</ | </ | ||
=== 신 버전 Lombok === | === 신 버전 Lombok === | ||
<code java> | <code java> | ||
- | @JsonProperty(" | + | @JsonProperty(" |
- | private int yyy; | + | private int isXxx; |
-> 진짜 생성은 | -> 진짜 생성은 | ||
- | @JsonProperty(" | + | @JsonProperty(" |
- | private int yyy; | + | private int isXxx; |
// 아래 setter 에도 @JsonProperty 가 붙어버림 | // 아래 setter 에도 @JsonProperty 가 붙어버림 | ||
- | @JsonProperty(" | + | @JsonProperty(" |
- | public void setYyy(int yyy) { | + | public void setXxx(int isXxx) { |
- | this.yyy = yyy; | + | this.isXxx = isXxx; |
} | } | ||
</ | </ | ||
- | * 해결책은 getter/ | + | * 해결책은 getter/ |
+ | * 여기서 진짜 문제는 Jackson 이 '' | ||
+ | * Java Bean/ | ||
+ | * 그런데 많은 사람들이 필드 이름을 지을 때 '' | ||
+ | * 따라서 이 문제는 **is로 시작하는 boolean 필드** 에서만 발생한다. |