Lombok入坑指南

常見的一些註解

@Builder -- 生成鏈式方法
@Cleanup   -- 自動close closeable對象... 

帶有繼承的entity

如果lombok要支持繼承的話, 要注意:
(1)使用@SuperBuilder時, 整個鏈路上都要有該註解. ref
(2)@SuperBuilder 配合lombok.accessors.prefix += _ 會有bug. 需要更新版本(我用的最新版1.18.12 fix了該問題)
報錯:

error: cannot find symbol
@SuperBuilder
^
  symbol:   variable mExample
  location: variable b of type ExampleClassBuilder<?,?>
import com.alibaba.fastjson.JSONObject;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;

public class TTTT {

    public static void main(String[] args) {
        String x = "{\"a\" : \"aa\", \"c\" : \"cc\"}";
        Child c = JSONObject.parseObject(x, Child.class);
        System.out.println(c);
    }

    @Setter
    @SuperBuilder
    @Getter
    @NoArgsConstructor
    public static class Parent {
        String _a;
    }

    @Setter
    @Getter
    @SuperBuilder
    @NoArgsConstructor
    public static class Child extends Parent {
        String _c;

        @Override
        public String toString() {
            return "Child{" +
                    "_a='" + _a + '\'' +
                    ", _c='" + _c + '\'' +
                    '}';
        }
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章