Бин-валидация - 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.
Рекомендации
- ^ Эммануэль, Бернар. «Цели Bean Validation 1.1». Red Hat, Inc. Получено 2014-08-17.
дальнейшее чтение
- Официальный веб-сайт Открытая разработка JSR 303, 349 и 380
- Видео презентации на Devoxx, * Bean Validation 2.0 - вы разместили свои аннотации везде! Гуннар Морлинг *
- Интервью со специалистом отдела специализации Эммануэлем Бернаром
- JSR 303 Страница
- Валидатор гибернации
- Документация Bean Validation TCK
- Как запустить Bean Validation TCK