jakarta-ee - 约束和注释有什么区别?

标签 jakarta-ee annotations constraints

我一直在研究 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/

相关文章:

python - 如何在 Pyomo 约束中建模逻辑或或量词

postgresql - PostgreSQL 中函数参数的约束

java - JUnit 测试方法未执行

java - 使用 Hibernate 生成大长度列

java - Annotation Processor - 如何获取它正在处理的类

java - 注解 String[] oneArr();与 String[][] twoArr();声明

Swift,约束, View 层次结构没有为约束准备

jakarta-ee - 可以在 Weblogic 中不同应用程序的 EJB 之间传播事务吗?

jsf - Java EE 7,EL 3.0 规范。关于类型强制的变化

java - 在Tomcat 6中制作一个java web应用程序作为域名的根