我一直在研究 Java EE 6,但我对注释和约束之间的区别感到困惑。它们之间到底有什么区别?
最佳答案
Annotations例如@Deprecated、@WebServlet、@NotNull 等带有类的元数据。在注释出现之前,这通常是通过 XML 配置文件完成的。可以借助 Java Reflection 来确定注释。
Constraints是应用于类和/或类的字段(属性)的业务规则。例如,如果业务规则要求用户名永远不能为空,那么您需要添加 @NotNull
注释来定义约束。
public class User {
@NotNull
private String name;
// ...
}
我在您的问题历史记录中看到您熟悉 JSF,即 Java EE 提供的 Web MVC 框架。 JSF 可以利用它来验证用户输入。
<h:inputText id="username" value="#{user.name}" />
<h:message for="username" />
当用户将输入字段留空时,将显示一条消息,通知用户该值可能不为空(确切的消息本身是可自定义的)。
另请参阅:
关于jakarta-ee - 约束和注释有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5914197/