Проверка компонентов
Bean Validation определяет модель метаданных и API для проверки JavaBean . Источником метаданных являются аннотации с возможностью переопределять и расширять метаданные за счет использования дескрипторов проверки XML .
Первоначально определенная как часть Java EE предназначена для работы в приложениях Java SE , версия 2 также .
Java Проверка Bean ( JSR 303 ) возникла как платформа , одобренная JCP 16 ноября 2009 года и принятая как часть спецификации Java EE 6. Команда Hibernate предоставляет вместе с Hibernate Validator эталонную реализацию Bean Validation, а также создала Bean Validation TCK, которую должна пройти любая реализация JSR 303.
Текущая версия
[ редактировать ]Проверка компонентов 2.0 определена в документе JSR 380 , утвержденном 31 июля 2017 г. Этот основной выпуск использует возможности языка Java 8, которые очень полезны для целей проверки компонентов. Таким образом, Java 8 требуется как минимальная версия Java.
Другие изменения включают в себя:
- Поддержка проверки элементов контейнера путем аннотирования аргументов типа параметризованных типов, например List<@Positive Integer> позитивные числа; это также включает в себя:
- Более гибкая каскадная проверка типов коллекций; например, теперь можно проверить значения и ключи карт: Map<@Valid CustomerType, @Valid Customer> customerByType
- Поддержка java.util. Необязательно.
- Поддержка типов свойств, объявленных JavaFX.
- Поддержка пользовательских типов контейнеров путем подключения дополнительных экстракторов значений.
- Поддержка новых типов данных даты и времени для @Past и @Future; детальный контроль над текущим временем и часовым поясом, используемым для проверки
- Новые встроенные ограничения: @Email, @NotEmpty, @NotBlank, @Positive, @PositiveOrZero, @Negative, @NegativeOrZero, @PastOrPresent и @FutureOrPresent.
- Все встроенные ограничения теперь помечены как повторяемые.
- Имена параметров извлекаются с помощью отражения.
- ConstraintValidator#initialize() — метод по умолчанию.
- Пространство имен для XML-дескрипторов проверки компонентов было изменено на 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 мая 2013 г.
Ссылки
[ редактировать ]- ^ Эммануэль, Бернар. «Цели проверки компонентов 1.1» . Красная шляпа, Inc. Проверено 17 августа 2014 г.
Дальнейшее чтение
[ редактировать ]- Официальный сайт
Открытая разработка JSR 303, 349 и 380.
- Видео презентации на Devoxx, *Bean Validation 2.0 — вы разместили свои аннотации повсюду! Гуннар Морлинг*
- Интервью с руководителем отдела технических характеристик Эммануэлем Бернаром
- Страница JSR 303
- Спящий валидатор
- Документация TCK по проверке компонентов
- Как запустить проверку компонентов TCK. Архивировано 25 августа 2010 г. на Wayback Machine.