使用的 IntelliJ IDEA 2022.3.1 (Ultimate Edition
IDE,android
项目中在build.gradle
引入了 lombok
插件用于自动生成 getter/setter
// https://mvnrepository.com/artifact/org.projectlombok/lombok
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.28'
ide
的 lombok
插件插件已经启用。
以下两种用法都不生效:
第一种
@Getter
@Setter
public class IndexUserApiRequestDTO {
private String gender;
private String size;
private String page;
private String sortColumn;
private String sortType;
}
第二种
public class User {
@Accessors(chain = true)
public staic class UserArchive {
@Getter @Setter
private String userId;
@Getter @Setter
private String gender;
}
}
执行构建的时候各种提示: cound find accessor ...
就是提示没有找到对应的 getter/setter
。这是为什么?
如果在 Android 项目中使用 Lombok,你需要进行一些额外的配置才能使 Lombok 注解生效。
首先,请确保你在
build.gradle
文件中正确使用了 Lombok 插件。你已经在你的build.gradle
文件中添加了以下配置:但是这样只是将 Lombok 注解添加到编译路径中,并不会自动应用它们。
在 IntelliJ IDEA 中,你需要进行如下配置:
在 IntelliJ IDEA 的设置中启用 Lombok 注解处理器:
project/module/build/generated/source/apt
目录。在完成上述配置后,重新构建你的项目,Lombok 的注解应该可以起作用了。
补充:
如果你觉得 lombok 的配置复杂,还有一些其他的 Android 库可以用来自动生成 getter 和 setter 方法,例如:
Butter Knife:Butter Knife 是一个非常流行的 Android View 注入库,它可以自动生成包括 getter 和 setter 方法在内的很多常用代码。你可以使用注解
@BindView
来自动绑定视图,并且 Butter Knife 会为你生成相应的 getter 和 setter 方法。Android Data Binding:Android Data Binding 是 Android 官方提供的一个库,它可以将布局文件中的视图和数据绑定起来,并且自动生成 getter 和 setter 方法。你可以使用
<data>
标签在布局文件中定义绑定的变量,并在 Java 代码中直接访问相应的 getter 和 setter 方法。这些库都可以帮助你简化生成 getter 和 setter 方法的过程,选择适合你项目需求的库并根据文档进行配置和使用。