Lombok是一个Java库,旨在通过注解来减少Java代码中的样板代码。它通过在编译时自动生成getter、setter、equals、hashCode和toString等方法,从而减少了开发人员需要编写的重复代码量。以下是Lombok在Java中的一些常见使用场景:
1.自动生成getter和setter方法: 使用@Getter和@Setter注解可以自动为类的字段生成getter和setter方法,减少了手动编写这些方法的工作量。
import lombok.Getter;
import lombom.Setter;
public class Myclass{
@Getter @Setter private String name;
}
2.@ToString: 自动生成toString方法。
import lombok.TOString;
@ToString
public class MyClass{
private String name;
}
3.@EqualsAndHashCode:自动生成equals和hashCode方法。
import lombok.EqualsAndHashCode;
@EqualsAndHashCode
public class Myclass{
private String name;
}
4.@NoArgsConstructor:自动生成无参构造函数
import lombok.NoArgsConstructor;
@NoArgsConstructor
public class MyClass {
private String name;
}
5.@AllArgsConstructor:
自动生成包含所有参数的构造函数
import lombok.AllArgsConstructor;
@AllArgsConstructor
public class Myclass{
private String name;
private int age;
}
6.RequiredArgsConstructor:自动生成仅包含带有@NonNull注解的参数的构造函数。
import lombok.RequiredArgsConstructor;
import lombok.NonNull;
@RequiredArgsConstructor
public class MyClass {
private final String name;
@NonNull private final int age;
}
7.@Data: 组合了@Getter、@Setter、@ToString、@EqualsAndHashCode和@RequiredArgsConstructor的功能。
import lombok.Data;
@Data
public class MyClass {
private String name;
private int age;
}
8.@Slf4j: 自动生成名为log的日志记录器字段。
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class MyClass {
public void myMethod() {
log.info("Logging something...");
}
}
这些是Lombok中最常用的注解和功能。它们可以大大减少Java代码中的样板代码,提高代码的简洁性和可读性。