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 + '\'' +
                    '}';
        }
    }
}


猜你喜欢

转载自blog.csdn.net/scugxl/article/details/106190678