Lombok 同时使用 @Data 和 @Builder 的巨坑,千万别乱用!(1)

简介: Lombok 同时使用 @Data 和 @Builder 的巨坑,千万别乱用!

问题背景

Lombok同时使用@Data和@Builder ,会出现构建无参构造器报错!最终导致编译不通过。如下图:

image.png

Lombok @Data和@Builder分别单独分析用法

Lombok使⽤@Data可以⽣成⽆参构造和类⾥⾯所有属性的getter/setter⽅法。可以简化我们代码的开发。(需要安装Lombok插件和引⼊Lombok依赖)。

例如下⾯的⼀个实体类,引⼊Lombok后,可以⾃动⽣成GET/SET⽅法和⽆参构造函数。

image.png编译后的class为:可以看到不仅帮我们生成了get和set ,同时也有默认的无参构造器

image.png

那么怎么自动生成有参构造器呢?使用@Builder注解,将会帮助我们⽣成全属性的构造方法。

image.png

编译后的class可以看到 已经帮我们构建好了全属性的构造方法,但是如果值只引用@Builder注解是无法生成get和set的。

image.png

但是如果同时使⽤@Data和@Builder的话,可以看出尽管⽣成了GET/SET⽅法,但是⽆参构造⽅法没有了,这显然是不能接受的,因为很多框架都会调⽤⽆参构造去创建对象。

image.png

编译后的class:

image.png

我们尝试在Tet1类,⼿动添加⽆参构造⽅法。编译发现报错不通过:

image.png

最新 Java 开发工具教程:https://www.javastack.cn/devtools/

相关文章
|
28天前
|
IDE 安全 Java
Lombok的优缺点不建议使用
Lombok的优缺点不建议使用
20 0
|
1月前
有关使用Lombok@Builder注解构建对象返回为空
有关使用Lombok@Builder注解构建对象返回为空
24 1
QGS
|
3月前
|
Java 关系型数据库 MySQL
浅学lombok
浅学lombok
QGS
31 1
|
3月前
|
Java API Maven
开发人员必备的常用工具lombok
开发人员必备的常用工具lombok
45 1
|
3月前
|
IDE Java API
Lombok入门使用教程及其优缺点详解
Lombok入门使用教程及其优缺点详解
41 0
|
3月前
|
JSON IDE Java
Java使用Lombok详解
Java使用Lombok详解
|
3月前
|
搜索推荐 Java 编译器
Javac 编译自定义注解及分析 Lombok 的注解实现
Javac 编译自定义注解及分析 Lombok 的注解实现
64 0
|
4月前
|
Java 大数据 Maven
Java基础之一文快速掌握Lombok的使用
Java基础之一文快速掌握Lombok的使用
36 0
|
4月前
|
Java 编译器
lombok的val
lombok的val
52 0
|
4月前
|
Java API