Lombok 在 IntelliJ IDEA 中的使用步骤

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 会自动下载依赖。 

注意!注意! 如果是在创建项目时通过Spring Starter引入的lombok依赖,一定要记得在pom.xml中进行修改下面的内容,加上版本号,不然项目编译都不通过

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.18.36</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>

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

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

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

4. 使用 Lombok 注解

  • 如果只想要 gettersetter 👉 @Getter + @Setter
  • 如果想要 toString()equals() 👉 @Data
  • 如果 DTO/VO 只读 👉 只用 @Getter

现在你可以在代码中使用 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;
}

当在类上使用@Getter 和 @Setter时,Lombok 会在编译时 自动为所有字段生成 gettersetter 方法 

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 方法,以确保对象的不可变性。
### 配置 IntelliJ IDEA 项目以使用 Lombok #### 安装 Lombok 插件 1. 打开 **IntelliJ IDEA**,进入 **Settings/Preferences**(Windows 上是 `File > Settings`,macOS 上是 `IntelliJ IDEA > Preferences`)。 2. 在设置窗口中,选择 **Plugins**。 3. 搜索 "Lombok",找到 **Lombok Plugin**。 4. 点击 **Install** 按钮进行安装。 5. 安装完成后,重启 **IDE** 以使插件生效[^1]。 #### 在项目中引入 Lombok 依赖 Lombok 是一个 **Java 编译时注解处理器**,需要在项目中添加 Lombok 的依赖。以下是几种常见的方式: ##### Maven 项目 在 `pom.xml` 文件中添加以下依赖: ```xml <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <!-- 使用最新版本 --> <scope>provided</scope> </dependency> ``` ##### Gradle 项目 在 `build.gradle` 文件中添加以下依赖: ```groovy dependencies { compileOnly 'org.projectlombok:lombok:1.18.30' // 使用最新版本 annotationProcessor 'org.projectlombok:lombok:1.18.30' } ``` #### 配置 Annotation Processor(注解处理器) 1. 打开 **IntelliJ IDEA**,点击菜单栏的 **File > Settings**(Windows)或 **IntelliJ IDEA > Preferences**(macOS)。 2. 导航到 **Build, Execution, Deployment > Compiler > Annotation Processors**。 3. 勾选 **Enable annotation processing**。 4. 确保 **Processor path** 中包含了 Lombok 的 JAR 文件(如果未自动检测到)。 #### 配置项目 SDK 1. 点击菜单栏的 **File > Project Structure**。 2. 在 **Project** 选项卡中,选择 **Project SDK**,然后选择或添加一个 JDK 版本。 3. 确保 **Project language level** 与所选 JDK 的版本匹配。 #### 使用 Lombok 注解 在 Java 类中使用 Lombok 提供的注解,例如: ```java import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString public class Student { private String name; private int age; } ``` 通过上述注解,Lombok 会自动生成 `getter`、`setter` 和 `toString` 方法,从而减少样板代码的编写[^4]。 #### 验证 Lombok 是否生效 1. 创建一个测试类,并尝试访问由 Lombok 生成的方法。 2. 如果没有编译错误,并且可以正常调用生成的方法,则说明 Lombok 已正确配置。 --- ### 常见问题与解决方法 1. **Lombok 注解未生效** - 确保 Lombok 插件已安装,并且项目中已正确引入 Lombok 依赖。 - 检查是否启用了 **Annotation Processor**。 - 如果使用 Maven 或 Gradle,确保依赖版本正确且作用域为 `provided` 或 `compileOnly`。 2. **IDE 显示找不到生成的方法** - 确保 Lombok 插件已安装并启用。 - 重启 **IntelliJ IDEA**,以确保插件生效。 3. **编译时提示找不到 Lombok 类** - 确保依赖作用域正确(Maven 使用 `provided`,Gradle 使用 `compileOnly`)。 - 检查项目是否使用了正确的 JDK 版本。 --- ### Lombok 常用注解 | 注解 | 说明 | |------|------| | `@Getter` | 自动生成 getter 方法 | | `@Setter` | 自动生成 setter 方法 | | `@ToString` | 自动生成 `toString` 方法 | | `@EqualsAndHashCode` | 自动生成 `equals` 和 `hashCode` 方法 | | `@Data` | 包含 `@Getter`、`@Setter`、`@ToString`、`@EqualsAndHashCode` 和 `@RequiredArgsConstructor` | | `@NoArgsConstructor` | 生成无参构造函数 | | `@AllArgsConstructor` | 生成全参构造函数 | | `@RequiredArgsConstructor` | 生成包含 `final` 字段或带有 `@NonNull` 注解字段的构造函数 | --- ### 总结 通过上述步骤,可以在 IntelliJ IDEA 中成功配置 Java 项目以使用 Lombok 库。Lombok 能够显著减少样板代码的编写,提高开发效率[^4]。同时,确保正确配置依赖和插件使用 Lombok 的关键。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值