**
lombok 注解
**
lombok 提供的注解不多,可以参考官方视频的讲解和官方文档。
Lombok 注解在线帮助文档:https://projectlombok.org/features/index.html
下面介绍几个我常用的 lombok 注解:
@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
@NonNull:注解在参数上,可以省略重复的 if( null == persion)这类异常处理
@Cleanup:注解在输入输出流等需要释放资源的变量上,不需要写额外繁琐而重复的释放资源代码
来一个最简单的案例:
不用Lombok
public class Person {
private String id;
private String name;
private String identity;
private Logger log = Logger.getLogger(Person.class);
public Person() {
}
public Person(String id, String name, String identity) {
this.id = id;
this.name = name;
this.identity = identity;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getIdentity() {
return identity;
}
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setIdentity(String identity) {
this.identity = identity;
}
}
使用Lombok
@Data
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public class Person {
private String id;
private String name;
private String identity;
}