我试图运行示例春季启动应用程序,我现在面临的问题与被标记为我的IDE @RequiredArgsConstructor实体。我使用的是最新的IntelliJ IDEA(14.1)对Java 1.8。有标记在IDE当我试图与构造函数参数初始化实体错误。
例如。这将显示“无法解析符号”为下面的行。
itemRepository.save(new Item("MacBook Pro"));
我的实体将成为如下。
@Entity
@Data
@RequiredArgsConstructor
public class Item {
private @Id @GeneratedValue Long id;
private final String description;
Item() {
this.description = null;
}
}
除了IDE错误项目建立和正常运行。
正在运行的示例项目使用Lombok,它可以产生大量的样板代码为你一个库(如getter和setter)基于注释(例如@RequiredArgsConstructor
)。这是有用的,但由于在编译过程中生成的代码,IDE不会看到它,因此显示错误。
您必须安装Lombok plugin做出的IntelliJ知道,其实构造函数确实存在,但在编译过程中产生的。然后,这些错误会自行消失。
您还可以看看this post关于龙目岛的引擎盖下是如何工作的更多细节。