В чем разница между ограничениями и аннотациями? - PullRequest
1 голос
/ 06 мая 2011

Я изучал Java EE 6, и меня смущает разница между аннотациями и ограничениями. В чем именно разница между ними?

1 Ответ

4 голосов
/ 06 мая 2011

Аннотации , такие как @Deprecated, @WebServlet, @NotNull, и т. Д. метаданные с классом.До появления аннотаций это обычно делали с помощью файлов конфигурации XML.Аннотации могут быть определены с помощью Java Reflection.

Ограничения - это бизнес-правила, которые должны применяться к классам и / или полям (свойствам) класса.Например, если бизнес-правило требует, чтобы имя пользователя никогда не было нулевым, тогда вы хотите поместить аннотацию @NotNull, чтобы определить ограничение.

public class User {

    @NotNull
    private String name;

    // ...
}

Я вижу в вашей истории вопросов, чтовы знакомы с JSF, веб-инфраструктурой MVC, предоставляемой Java EE.JSF может использовать его для проверки ввода пользователя.

<h:inputText id="username" value="#{user.name}" />
<h:message for="username" />

Когда пользователь оставляет поле ввода пустым, отображается сообщение, информирующее пользователя о том, что значение не может быть нулевым (точное сообщениесам настраивается).

См. также:

...