BeanCopier 與 lombok衝突導致屬性複製失敗

緣由

一直用 BeanCopier 進行屬性複製,非常好用。最近又經常使用lombok簡化代碼,當我使用 @Accessors(chain = true) 進行鏈式set時發現複製的值都是 null 的。

推測原因

@Accessors(chain = true) 的作用是將 setter 方法的返回值由 void 修改爲 this。 這導致 setter 的方法簽名改變,最終導致 BeanCopier 無法識別現有的 setter 方法。

解決方案

  • 去除 @Accessors(chain = true) 註解
  • 不使用 BeanCopier, 使用 org.springframework.beans.BeanUtils
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章