约束和注释有什么区别?

时间:2011-05-06 16:19:04

标签: java-ee annotations constraints

我一直在研究Java EE 6,我对Annotations和Constraints之间的区别感到困惑。它们之间究竟有什么区别?

1 个答案:

答案 0 :(得分:4)

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" />

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

另见: