RequiredArgsConstructor

RequiredArgsConstructor

似乎@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;

您也需要使它们最终化。

07-24 09:15