java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > 查看Lombok生成代码

查看和确认Lombok生成代码的四种方法

作者:六七_Shmily

Lombok是一个Java库,用于减少Java中的样板代码(boilerplate code),由于 Lombok 是在编译阶段自动生成 getter、setter 等方法,所以在源代码(.java文件)中你是看不到这些方法的具体实现的,所以本文给大家介绍了查看和确认Lombok生成代码的四种方法

由于 Lombok 是在编译阶段自动生成 getter、setter 等方法,所以在源代码(.java文件)中你是看不到这些方法的具体实现的。

但是,有几种非常方便的方法可以查看和确认 Lombok 生成的方法:

方法一:使用 IDE 的结构视图(最推荐、最方便)

现代 Java IDE(如 IntelliJ IDEA 和 Eclipse)的 Lombok 插件可以智能地识别这些生成的方法,并在各种视图和代码补全中显示它们。

在 IntelliJ IDEA 中:

  1. 确保你已安装并启用了 Lombok Plugin(这是前提)。
  2. 打开你的 Java 类文件。
  3. 使用快捷键 Alt + 7(Windows/Linux)或 Cmd + 7(Mac)打开 Structure 工具窗口。
  4. 在这个视图中,你会清楚地看到所有 Lombok 生成的方法,它们前面会有一个特殊的图标(如 ☯ 或 ⚙️),并且通常会有 (Lombok) 的提示,与你自己手写的方法区分开。

你也可以将鼠标光标放在使用了 Lombok 注解的字段或类名上,IDE 会给出提示,显示将会生成哪些方法。

在 Eclipse 中:

  1. 确保安装了 Eclipse 的 Lombok 插件(通常通过将 lombok.jar 拖入 Eclipse 安装目录来完成)。
  2. 打开 Outline 视图(Window -> Show View -> Outline)。
  3. 在 Outline 视图中,你也可以看到所有生成的方法。

方法二:使用 IDE 的代码补全功能

即使在源代码中看不到,IDE 的代码补全(按 Ctrl + Space)也会正常工作。当你尝试调用一个对象的 setter 或 getter 方法时,补全列表里会出现 Lombok 生成的方法。

例如,你有一个 user 对象,输入 user.set 然后按 Ctrl + Space,你会看到所有可用的 setName(), setAge() 等方法。

方法三:反编译编译后的类文件(查看字节码的“真身”)

这是最“硬核”的方法,可以直接看到 Lombok 最终生成的代码。

  1. 首先编译你的项目。使用 Maven (mvn compile)、Gradle 或直接点击 IDE 的编译按钮。
  2. 找到编译生成的 .class 文件。它们通常位于 target/classes (Maven) 或 build/classes (Gradle) 目录下。
  3. 使用 JD-GUICFR 或其他 Java 反编译工具打开对应的 .class 文件。

反编译后,你就能看到完整的类定义,其中包含了所有 Lombok 生成的 getter 和 setter 方法的具体实现,就像是你自己手写的一样。

示例:

你的源代码:

import lombok.Data;

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

使用 JD-GUI 反编译后的 User.class 可能会显示为:

public class User {
    private String name;
    private int age;

    // 以下是 Lombok 生成的
    public String getName() {
        return this.name;
    }

    public int getAge() {
        return this.age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    // 还有 equals, hashCode, toString 方法...
}

方法四:通过反射查看(程序运行时)

你可以在运行时写一段简单的反射代码,来列出类中的所有方法,这也会包括 Lombok 生成的方法。

import java.lang.reflect.Method;

public class CheckLombokMethods {
    public static void main(String[] args) {
        // 获取 User 类的所有方法
        Method[] methods = User.class.getDeclaredMethods();
        
        // 遍历并打印方法名
        for (Method method : methods) {
            System.out.println("Method: " + method.getName());
        }
    }
}

运行这段代码,输出结果会包含 getName, setName, getAge, setAge 等。

总结与建议

方法优点缺点适用场景
IDE 结构视图最快、最直观,无需任何额外操作需要安装 IDE 插件日常开发中最推荐使用
代码补全自然融入开发流程,无需特意查看无法一次看到所有方法在编码时顺便确认
反编译能看到最真实、最终的字节码内容步骤稍多,需要额外工具深度调试,确认 Lombok 是否生效,或学习其实现
反射以编程方式验证运行时的类结构需要编写额外代码程序运行时动态分析

给你的建议:

对于日常开发,强烈推荐使用方法一(IDE 的结构视图)。它完美集成了开发环境,让你像使用普通方法一样方便地查看和使用 Lombok 生成的方法,这是 Lombok 设计的初衷——保持代码简洁的同时又不失开发便利性。

到此这篇关于查看和确认Lombok生成代码的四种方法的文章就介绍到这了,更多相关查看Lombok生成代码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文