Lombok 在 IntelliJ IDEA 中的使用步骤

发布于:2024-10-11 ⋅ 阅读:(113) ⋅ 点赞:(0)

Lombok 是一个非常流行的 Java 库,它通过注解简化 Java 类的开发,特别是在处理 POJO(Plain Old Java Objects)类时,如生成 getter、setter、toString 等常用方法。Lombok 在减少样板代码(boilerplate code)方面非常有用。在 IntelliJ IDEA 中使用 Lombok 插件,可以极大简化开发过程。

1. 安装 Lombok 插件

要在 IntelliJ IDEA 中使用 Lombok,首先需要安装 Lombok 插件:

  • 步骤
    1. 打开 IntelliJ IDEA,点击 File > Settings(或者快捷键 Ctrl + Alt + S)。
    2. 在设置窗口中,选择左侧的 Plugins,然后在右上角的搜索框中输入 Lombok
    3. 找到 Lombok 插件,点击 Install
    4. 安装完成后,重新启动 IntelliJ IDEA 以使插件生效。

2. 在 pom.xml 中引入 Lombok 依赖

安装完插件后,你还需要在项目的 pom.xml 中引入 Lombok 的 Maven 依赖:

步骤:           

  1. 打开 pom.xml 文件。
  2. <dependencies> 节点中添加以下内容:
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.24</version> <!-- 检查 Lombok 最新版本 -->
    <scope>provided</scope>
</dependency>

   3.同步 Maven 项目,IntelliJ IDEA 会自动下载依赖。 

3. 配置 IDEA 支持 Lombok 注解处理器

为了确保 Lombok 正常工作,你需要在 IntelliJ IDEA 中开启注解处理器。

  • 步骤
    1. 点击 File > Settings,在设置窗口中选择 Build, Execution, Deployment > Compiler > Annotation Processors
    2. 勾选 Enable annotation processing 选项。
    3. 点击 Apply 并确认。

4. 使用 Lombok 注解

现在你可以在代码中使用 Lombok 提供的注解来简化代码。例如:

4.1@Getter 和 @Setter

自动生成 getter 和 setter 方法。

import lombok.Getter;
import lombok.Setter;

public class User {
    @Getter @Setter
    private String name;

    @Getter @Setter
    private int age;
}

4.2@ToString

自动生成 toString() 方法。

import lombok.ToString;

@ToString
public class User {
    private String name;
    private int age;
}

4.3@NoArgsConstructor 和 @AllArgsConstructor

自动生成无参和全参构造函数。

import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

@NoArgsConstructor
@AllArgsConstructor
public class User {
    private String name;
    private int age;
}

4.4@Data

自动生成 getter、setter、toString、hashCode、equals 方法,还可以生成无参构造函数。

import lombok.Data;

@Data
public class User {
    private String name;
    private int age;
}

4.5 @Builder

用于实现 Builder 模式,它允许你一步步地构建一个对象,而不是通过构造函数一次性设置所有字段。

import lombok.Builder;

@Builder
public class User {
    private String name;
    private int age;
}
  • 使用方式:
    User user = User.builder().name("John").age(25).build();
    
  • @Builder 使得你可以使用流式 API 来创建对象。它在创建复杂对象时非常有用,特别是那些拥有很多字段的对象。
  • Lombok 的 @Builder 注解允许你使用流式 API来创建对象,而不需要手动编写构造函数。

  • 主要特点

    • 无需一次性传递所有成员变量:你可以根据需要只设置部分成员变量,而不需要为每个参数创建多个构造函数。
    • 无需手动编写构造函数:Lombok 会自动生成一个带有所有成员变量的 Builder 类来代替构造函数。
  • 使用方式

    • 使用 @Builder 注解后,你可以通过 User.builder() 创建一个 UserBuilder 对象,然后链式调用设置各个属性,最后通过 .build() 方法生成最终对象。
    • 你可以只赋值部分变量,其他变量会保留默认值。


4.6 @Value

  • 作用:为不可变类生成代码(类似 final 的效果)。所有字段都将是 private final,并且会自动生成 gettertoString()equals()hashCode()全参构造函数
import lombok.Value;

@Value
public class User {
    private String name;
    private int age;
}
  • @Value 会自动把类的字段设为 final,并且不会生成 setter 方法,以确保对象的不可变性。

网站公告

今日签到

点亮在社区的每一天
去签到