约束和注释有什么区别?

Min*_*ine 2 annotations constraints jakarta-ee

我一直在研究 Java EE 6,我对注释和约束之间的区别感到困惑。它们之间到底有什么区别呢?

Bal*_*usC 5

@Deprecated@WebServlet、等注释@NotNull携带类的元数据。在注释出现之前,这通常是通过 XML 配置文件完成的。可以借助 Java Reflection 来确定注释。

约束是应用于类和/或类的字段(属性)的业务规则。例如,如果业务规则要求用户名永远不能为空,那么您需要添加注释@NotNull来定义约束。

public class User {

    @NotNull
    private String name;

    // ...
}
Run Code Online (Sandbox Code Playgroud)

我在您的问题历史记录中看到您熟悉 JSF,即 Java EE 提供的 Web MVC 框架。JSF 可以利用它来验证用户输入。

<h:inputText id="username" value="#{user.name}" />
<h:message for="username" />
Run Code Online (Sandbox Code Playgroud)

当用户将输入字段留空时,将显示一条消息,通知用户该值可能不为空(确切的消息本身是可定制的)。

也可以看看: