@adilooze解决方案
public static void main(String[] args) {
List<Person> list = new ArrayList<Person>();
list.add(new Person("AA","xx", 18));
list.add(new Person("BB", "yy", 21));
list.add(new Person("CC", "zz", 36));
Gson gson = new Gson();
String json = gson.toJson(list);
System.out.println(json);
}
public class Person {
@NonNull private String name;
private String lastname;
@NonNull private int age;
}
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
</build>
如果您正在使用IntelliJ,请在设置中打开注释处理。
注意:您可能还需要安装IntelliJ Lombok插件
我试图用创建一个基本配方类,但Lombok似乎没有正确创建所需的args构造函数。虽然它将成功创建其他构造函数,例如,但即使我使用/注释了值,所需的args构造函数也是空的。我已仔细检查是否已导入。 这是我的课程的精简版本: Lombok创建的构造函数是空的,我在构建的类文件中签入了它。 请注意,当我在类中使字段为最终字段时,Lombok将创建适当的所需args构造函数: 因此,它似乎忽略了注释。
已经给出了所有的DTO@data、@noargsconstructor、@allargsconstructor,所以理想情况下所有的构造函数都应该可用。 我已经尝试用新旧版本的Spring tool suite和更改的lombok jar来构建这个项目。但同样或不同的错误仍在出现。 用STS4和STS 3.9.7尝试,3.9.8同样的问题即将到来。尝试龙目岛1.16.22、1.18.0、1.18.
问题内容: 我正在将Lombok项目与Spring Data JPA一起使用。有什么方法可以将Lombok 与JPA默认构造函数连接? 码: 据我所知,JPA需要默认的构造函数,该构造函数被注解覆盖。有什么解决方法吗? 这段代码给我错误: 问题答案: 更新 根据反馈和John的回答,我已更新了不再使用or的答案,而是通过和创建访问器和变量,通过创建默认构造函数via,最后我们创建了构建器通过via
我使用默认构造函数从子类中设置recordId的值,最初没有使用lombok。最终我决定在这里使用构建器,但现在的问题是lombok构建器在内部覆盖了我的默认构建器,因此从未设置值。
问题内容: 我有这个简单的代码: 首先,我只使用了Lombok批注,一切都很好。但是我添加了构造函数,并且代码不再编译。错误是: 所以我有两个问题: 为什么龙目岛与此构造函数不兼容? 考虑到需要构建器和构造器,如何使代码编译? 问题答案: 您可以添加注释,因为 如果未定义其他构造函数,则生成all-args构造函数。 (引用@Andrew Tobilko) 或将属性设置为:这为您提供了复制构造函数