似乎@RequiredArgsConstructor
在以下代码中不起作用。为什么?
import java.io.Serializable;
import lombok.Data;
import lombok.RequiredArgsConstructor;
@Data
@RequiredArgsConstructor
public class User implements Serializable {
private String username;
/*public User(String username) {
this.username = username;
}*/
private static final long serialVersionUID = 8043545738660721361L;
}
我得到错误:
javax.faces.el.EvaluationException: java.lang.Error: Unresolved compilation problem:
The constructor User(String) is undefined
出于某种原因,它似乎可用于其他未定义构造函数而是使用
@RequiredArgsConstructor
批注的域类。 最佳答案
根据Documentation,
必需的参数是最终字段和具有约束的字段,例如@NonNull。
您需要将用户名设置为@NonNull
@NonNull private String username;
您也需要使它们最终化。