В чем разница между ограничениями и аннотациями?

Я изучаю Java EE 6 и не понимаю разницы между аннотациями и ограничениями. В чем именно разница между ними?


person MineIsMine    schedule 06.05.2011    source источник


Ответы (1)


Аннотации, такие как @Deprecated, @WebServlet, @NotNull и т. д., содержат < strong>метаданные с классом. До появления аннотаций это обычно делалось с помощью файлов конфигурации 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" />

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

Смотрите также:

person BalusC    schedule 06.05.2011