Lombok插件
lombok介绍
- Lombok通过增加一些“处理程序”,可以让java变得简洁、快速。
- Lombok能以注解形式来简化java代码,提高开发效率。开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护。
- Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。
lombok使用
添加lombok的jar包:

为IDEA添加lombok插件(连接网络使用)


安装完毕后,重启IDEA。

新建一个类:Student
@Data
@AllArgsConstructor
public class Student {
private String name;
private int age;
}
编写测试类
public class StudentDemo {
public static void main(String[] args) {
Student student = new Student("jack",38);
System.out.println(student);
student.setName("rose");
student.setAge(18);
System.out.println(student.getName());
System.out.println(student);
}
}

lombok常用注解
* @Getter和@Setter
作用:生成成员变量的get和set方法。
写在成员变量上,指对当前成员变量有效。
写在类上,对所有成员变量有效。
注意:静态成员变量无效。
* @ToString:
作用:生成toString()方法。
该注解只能写在类上。
* @NoArgsConstructor和@AllArgsConstructor
@NoArgsConstructor:无参数构造方法。
@AllArgsConstructor:满参数构造方法。
注解只能写在类上。
* @EqualsAndHashCode
作用:生成hashCode()和equals()方法。
注解只能写在类上。
@EqualsAndHashCode(callSuper = true) 调用equals时,将父类的对象也参与比较。
@EqualsAndHashCode(exclude = "age") 调用equals时,不比较exclude中包含的属性。
* @Data
作用: 生成 setter/getter、equals、canEqual、hashCode、toString 方法。
如为final属性,则不会为该属性生成setter方法。
注解只能写在类上。
* @NonNull
用于标记类中不能允许为null的字段或者参数上,任何使用该字段的地方都生成空指针判断代码。
若 @NonNull 标记的变量为 null,抛出 NullPointException(NPE)异常。
* @Cleanup
这个注解用在变量前面,可以保证此变量代表的资源会被自动关闭,默认是调用资源的 close() 方法。
如果该资源有其它关闭方法,可使用 @Cleanup(“methodName”) 来指定要调用的方法,
* @Accessors
fluent 属性:不写默认为false,当该值为 true 时,对应字段的 getter 方法前面就没有 get,setter 方法就不会有 set。
chain 属性:不写默认为false,当该值为 true 时,对应字段的 setter 方法调用后,会返回当前对象。
prefix 属性:该属性是一个字符串数组,当该数组有值时,表示忽略字段中对应的前缀,生成对应的 getter 和 setter 方法。