lombok 插件生成有参构造器和无参构造器

527 阅读1分钟

lombok 插件作用于实体类上,能够通过 @Data 注解自动生成 get()、set()、toString() 等方法,能够降低开发的代码量。

一、使用 @Data 注解后,生成了哪些方法呢?

通过 idea 的 structure 工具栏,可以看到 @Data 注解生成的方法列表。

image.png

二、生成内容不完整?

仔细一看,发现少了有参构造方法,这时候需要添加 @AllArgsConstructor 注解,通过 idea 的 structure 工具栏就可以看到已经生成有参构造方法了。

image.png

三、无参构造方法丢了?

添加 @AllArgsConstructor 注解后,虽然生成了有参构造方法,但是无参构造方法却没有了。这其实跟类底层初始化有关系:

1、当我们创建一个类后,该类会自带一个无参构造方法,如第一步所示;

2、当我们创建一个构造器后,原始的无参构造器就会消失,如第二步所示;

四、生成无参构造器

这时候可以使用 @NoArgsConstructor 注解,让 lombok 生成一个无参构造器。

image.png