12

我正在尝试使用 lombok getter 和 setter 注释。据我所知,带注释的代码是在运行时生成的,而不是在编译时生成的,那么如何借助自动生成的 getter 和 setter 来编写代码呢?

例如我有这样的课

@lombok.Getters
@lombok.Setters
public class MyLombokTesting {

private String userName;

}

但是如果在编写代码时没有生成这些注释,那么这些注释有什么用......

现在我想做这样的事情

MyLombokTesting myLombokTesting = new MyLombokTesting();
String username = myLombokTesting.getUserName();
or myLombokTesting.setUserName("some username");

但我不能做任何这些,因为在编写代码时在eclipse中没有为我生成setter和getter..

显然我可以有一个参数构造函数来设置用户名,但是 getter 呢?

4

3 回答 3

12

首先,Lombok 确实运行编译时来动态更改生成的类文件。

可能,lombok 没有正确安装在您的 Eclipse 中。在 Eclipse 中查看有关 lombok 安装问题的答案。

此外,注解的运行时处理并不是它们的唯一用途。Java 5 已经附带了apt注释处理工具,并且由于 java 6 注释可以由标准编译器 (javac) 处理。注解可以生成类文件、源文件或其他资源文件。

披露:我是龙目岛项目的开发人员之一

于 2013-06-17T13:31:01.410 回答
2

确保在添加 Lombok jar 和插件后重新启动 Eclipse/Intellij 或您正在使用的任何 IDE。

于 2016-03-25T07:42:29.997 回答
1

我使用 Eclipse IDE。在 pom.xml 中添加 lombok 库之前,我必须在我的计算机中安装 lombok

第 1 步: - 在https://projectlombok.org/download 下载 lombok - 运行命令java -jar 在此处输入图像描述 - 重新启动 IDE - 完成

第 2 步: - 将 lombok 添加到 pom.xml 文件

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.8</version>
    <scope>provided</scope>
</dependency>
  • 在您的代码中调用 getter / setter 在此处输入图像描述
于 2020-02-17T01:59:31.660 回答