문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
java:lombok:upgrade [2022/06/23 11:17] kwon37xi |
java:lombok:upgrade [2022/06/27 16:32] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 18: | 줄 18: | ||
| * **스스로 생성자에 @ConstructorProperties 를 붙여주거나** | * **스스로 생성자에 @ConstructorProperties 를 붙여주거나** | ||
| * '' | * '' | ||
| + | |||
| + | ==== 1.18.4 Field 에 붙은 annotation 이 setter 로 복사됨 ==== | ||
| + | * field 에 붙은 annotation 이 setter 로 복사되는데, | ||
| + | * **애초에 boolean 필드에는 is 를 안 붙이고 true/false 를 나타낼법한 형용사를 사용하는게 좋다.** | ||
| + | * 이유는 '' | ||
| + | * 즉, 일부 라이브러리([[java: | ||
| + | * 이 때 annotation 이 필드('' | ||
| + | * 실제 문제 발생 예) | ||
| + | <code java> | ||
| + | @JsonProperty(" | ||
| + | // 기존에는 이 필드와 Lombok이 생성한 '' | ||
| + | // 프라퍼티가 JSON 필드가 두 개로 생성됨. | ||
| + | // 그런데 이 JSON을 사용하는 개발자가 something 프라퍼티를 사용했다. | ||
| + | |||
| + | // 버전업 이후 아래와 같이 setter 에도 애노테이션이 복제됨. | ||
| + | @JsonProperty(" | ||
| + | boolean setSomething(boolean sohmething) { | ||
| + | ... | ||
| + | } | ||
| + | // 이로인해 Jackson 라이브러리는 setSomething/ | ||
| + | // '' | ||
| + | // something 프라퍼티 사용하던 곳은 모두 오류 발생. | ||
| + | </ | ||