如何实际使龙目岛注释适用于 getter 和 setter

2022-09-04 03:01:29

我正在尝试使用龙目岛获取器和设置器注释。据我所知,带注释的代码是在运行时生成的,而不是在编译时生成的,那么如何借助自动生成的 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和getters。

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


答案 1

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

可能,龙目岛没有正确安装在你的Eclipse中。在 Eclipse 中查看龙目岛安装问题的答案。

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

披露:我是龙目岛项目开发者之一


答案 2

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


推荐