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