lombok 插件作用于实体类上,能够通过 @Data 注解自动生成 get()、set()、toString() 等方法,能够降低开发的代码量。
一、使用 @Data 注解后,生成了哪些方法呢?
通过 idea 的 structure 工具栏,可以看到 @Data 注解生成的方法列表。
二、生成内容不完整?
仔细一看,发现少了有参构造方法,这时候需要添加 @AllArgsConstructor 注解,通过 idea 的 structure 工具栏就可以看到已经生成有参构造方法了。
三、无参构造方法丢了?
添加 @AllArgsConstructor 注解后,虽然生成了有参构造方法,但是无参构造方法却没有了。这其实跟类底层初始化有关系:
1、当我们创建一个类后,该类会自带一个无参构造方法,如第一步所示;
2、当我们创建一个构造器后,原始的无参构造器就会消失,如第二步所示;
四、生成无参构造器
这时候可以使用 @NoArgsConstructor 注解,让 lombok 生成一个无参构造器。