Бин-валидация - Bean Validation

Bean Validation определяет модель метаданных и API для JavaBean Проверка. Источник метаданных аннотации, с возможностью переопределения и расширения метаданных с помощью XML дескрипторы проверки.

Первоначально определено как часть Java EE, версия 2 предназначена для работы в Java SE приложения тоже.

Ява Бин-валидация (JSR 303 ) возникла как рамки это было одобрено JCP от 16 ноября 2009 г. и принят в рамках Java EE 6 спецификация. В Спящий режим команда предоставляет Валидатор гибернации в эталонная реализация Bean Validation, а также создал Bean Validation TCK любая реализация JSR 303 должна пройти.

Текущая версия

Bean Validation 2.0 определяется JSR 380, утверждено 31.07.2017. В этом основном выпуске используются языковые функции Java 8, которые очень полезны для проверки компонентов. Таким образом, Java 8 требуется как минимальная версия Java.

Другие изменения включают:

  • Поддержка проверки элементов контейнера путем аннотирования аргументов типа параметризованных типов, например Список <@Positive Integer> positiveNumbers; это также включает:
    • Более гибкая каскадная проверка типов коллекций; например значения и ключи карт теперь можно проверить: Map <@Valid CustomerType, @Valid Customer> customersByType
    • Поддержка java.util.Optional
    • Поддержка типов собственности, объявленных JavaFX
    • Поддержка настраиваемых типов контейнеров за счет подключения дополнительных экстракторов значений
  • Поддержка новых типов данных даты / времени для @Past и @Future; точный контроль текущего времени и часового пояса, используемых для проверки
  • Новые встроенные ограничения: @Email, @NotEmpty, @NotBlank, @Positive, @PositiveOrZero, @Negative, @NegativeOrZero, @PastOrPresent и @FutureOrPresent.
  • Все встроенные ограничения теперь помечены как повторяющиеся
  • Имена параметров извлекаются с помощью отражения
  • ConstraintValidator # initialize () - метод по умолчанию
  • Пространство имен для XML-дескрипторов Bean Validation было изменено на http://xmlns.jcp.org/xml/ns/validation/configuration[постоянная мертвая ссылка ] для META-INF / validation.xml и http://xmlns.jcp.org/xml/ns/validation/mapping[постоянная мертвая ссылка ] для файлов отображения ограничений

Предыдущая версия

Bean Validation 1.1 (JSR 349 ) улучшен по сравнению с первоначальной версией 1.0 (JSR 303 ). Существенные изменения[1] включают:

  • Проверка аргументов метода и возвращаемого значения
  • Внедрение зависимости
  • Более открытый процесс разработки спецификации

Окончательный выпуск спецификация 1.1 произошло 24.05.2013.

Рекомендации

  1. ^ Эммануэль, Бернар. «Цели Bean Validation 1.1». Red Hat, Inc. Получено 2014-08-17.

дальнейшее чтение