사용자 도구

사이트 도구


java:lombok

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
java:lombok [2021/02/02 18:44]
kwon37xi [1.16.20]
java:lombok [2021/02/02 18:55]
kwon37xi [1.16.20 @ConstructorProperties]
줄 85: 줄 85:
   * [[https://projectlombok.org/changelog|lombok changelog]]   * [[https://projectlombok.org/changelog|lombok changelog]]
  
-==== 1.16.20 ====+==== 1.16.20 @ConstructorProperties ====
   * 이 시점 이후부터 ''@AllArgsConstructor'', ''@RequiredArgsConstructor'' 등에서 자동으로 생성해주던 ''@ConstructorProperties(필드정보)'' 가 자동으로 생성이 안되게 바뀐다.   * 이 시점 이후부터 ''@AllArgsConstructor'', ''@RequiredArgsConstructor'' 등에서 자동으로 생성해주던 ''@ConstructorProperties(필드정보)'' 가 자동으로 생성이 안되게 바뀐다.
   * [[https://docs.oracle.com/javase/7/docs/api/java/beans/ConstructorProperties.html|@ConstructorProperties]]   * [[https://docs.oracle.com/javase/7/docs/api/java/beans/ConstructorProperties.html|@ConstructorProperties]]
-  * 기본 생성자가 없을 경우, [[java:jackson|Java Jackson JSON Library]] 등이  +  * 기본 생성자가 없을 경우, [[java:jackson|Java Jackson JSON Library]] 등이 어떻게 필드에 값을 주입할 지 알 수 없는 상황이 된다. 
-  * ''lombok.config''에서 ''lombok.anyConstructor.addConstructorProperties=true''를 명시적으로 주면 자동 생성된다.+  * ''lombok.config''에서 ''lombok.anyConstructor.addConstructorProperties=true''를 명시적으로 주면 자동 생성된다. 하지만 ''@XXXArgsConstructor, @Data, @Value''를 모두 없애고 생성자를 직접 만들어주고, 기본 생성자를 추가해주는 게 낫다. 
 + 
 +> BREAKING CHANGE: lombok config key lombok.anyConstructor.suppressConstructorProperties is now deprecated and defaults to true, that is, by default lombok no longer automatically generates @ConstructorProperties annotations. New config key lombok.anyConstructor.addConstructorProperties now exists; set it to true if you want the old behavior. Oracle more or less broke this annotation with the release of JDK9, necessitating this breaking change.
  
 ==== 1.18.4 field annotation 들이 getter/setter 로 복제됨 ==== ==== 1.18.4 field annotation 들이 getter/setter 로 복제됨 ====
줄 131: 줄 133:
 } }
 </code> </code>
 +  * 해결책은 getter/setter 자동생성을 막고, 명시적으로 getter/setter 를 생성하고 그 위에 ''@JsonProperty('yyy')'' 명시해서 추가해줌.
java/lombok.txt · 마지막으로 수정됨: 2022/06/23 11:10 저자 kwon37xi