目录
- Lombok 是一个 Java 库,能自动插入编译器并构建工具,简化 Java 开发
- 它通过注解实现这一目的,可用来帮助开发人员消除 Java 的冗长代码,尤其是对于简单的 Java 对象
- Lombok 可以自动生成 getter、setter、equals、hashCode、toString等方法,还可以自动生成构造函数等方法,从而减少了代码量
1. 在 maven 项目的 pom.xml 文件中添加依赖
<dependency> <groupId>org.projectlombokgroupId> <artifactId>lombokartifactId> <version>1.18.24version> <scope>providedscope> dependency>2. 在实体类上使用 Lombok 提供的注解
- 我们创建一个 User 类
- 并在该类上添加 Lombok 提供的 @Getter、@Setter、@ToString 注解
import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString public class User { public int id; public String name; }3. IDEA 安装 Lombok 插件
- 如果不安装 Lombok 插件,IDEA 将无上图提示
4. 创建一个启动类
public class App { public static void main(String[] args) { User user = new User(); user.setId(1); user.setName("小林"); System.out.println(user.toString()); } }运行结果:
- Lombok的@Data 注解是一个组合注解
- 它可以应用在类上,用于生成类的常用方法,如 equals、hashCode、toString、getter、setter 等
实例
- 我们可以修改上述实例代码,将类上的 @Getter、@Setter、@ToString 注解,改为 @Data 注解
import lombok.Data; @Data public class User { public int id; public String name; }
- 此时我们再次运行启动类,其最终的运行结果相同
基本注释
注释 作用 @Getter 自动添加 getter 方法 @Setter 自动添加 setter 方法 @ToString 自动添加 toString 方法 @EqualsAndHashCode 自动添加 equals 和 hashCode 方法 @NoArgsConstructor 自动添加无参构造方法 @AllArgsConstructor 自动添加全属性构造方法,顺序按照属性的定义顺序 @NonNull 属性不能为 null @RequiredArgsConstructor 自动添加必须属性的构造方法,final + @NonNull 的属性为必须
组合注解
注解 作用 @Data @Getter + @Setter + @ToString + @EqualsAndHashCode + @RequiredArgsConstructor + @NoArgsConstructor
日志注解
注解 作用 @Slf4j 添加一个名为 log 的日志,使用 slf4j