Энтони Гонсалвес - Изучаем Java EE 7

Тут можно читать онлайн Энтони Гонсалвес - Изучаем Java EE 7 - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Питер, год 2014. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Энтони Гонсалвес - Изучаем Java EE 7 краткое содержание

Изучаем Java EE 7 - описание и краткое содержание, автор Энтони Гонсалвес, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java.
Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода.
Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP). В ней вы найдете максимально ценную информацию, изложенную с точки зрения эксперта по технологиям Java для предприятий.
Благодаря этой книге вы:
— познакомитесь с новейшей версией платформы Java EE;
— исследуете и научитесь использовать API EJB и JPA — от компонентов-сущностей, компонентов-сеансов до компонентов, управляемых сообщениями, и многого другого;
— откроете для себя API для разработки на веб-уровне, в частности JSF, Facelet и Expression Language;
— научитесь обращаться с веб-службами SOAP и RESTful, а также с другими службами, доступными в новейшей версии Java EE;
— узнаете, как создавать динамические пользовательские интерфейсы для корпоративных и транзакционных Java-приложений.

Изучаем Java EE 7 - читать онлайн бесплатно полную версию (весь текст целиком)

Изучаем Java EE 7 - читать книгу онлайн бесплатно, автор Энтони Гонсалвес
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Что нового появилось в версии Bean Validation 1.1

В настоящее время валидация компонентов в версии 1.1 интегрирована в Java EE 7. В этой младшей (корректировочной) версии появились многие новые возможности, были улучшены существующие. Рассмотрим основные новые возможности.

• В этой версии ограничения могут применяться к параметрам методов и возвращаемым значениям. Поэтому валидация компонентов может использоваться для описания и валидации контракта (предусловий и постусловий) заданного метода.

• Ограничения также могут применяться с конструкторами.

• Появился новый API для получения метаданных об ограничениях и объектах, подвергаемых этим ограничениям.

• Повысилась степень интеграции со спецификацией, описывающей контекст и внедрение зависимостей (теперь можно выполнять внедрение в валидаторы).

В табл. 3.1 перечислены основные пакеты, входящие в настоящее время в спецификацию Bean Validation 1.1.

Таблица 3.1.Основные пакеты для валидации компонентов
Пакет Описание
javax.validation Содержит основные API для валидации компонентов
javax.validation.bootstrap Классы, применяемые для начальной загрузки валидации компонентов и создания конфигурации, не зависящей от поставщика
javax.validation.constraints Содержит все встроенные ограничения
javax.validation.groups Стандартные группы для валидации компонентов
javax.validation.metadata Репозиторий метаданных для всех определенных ограничений и API запросов
javax.validation.spi API, определяющие контракт между механизмом начальной загрузки валидации и движком поставщика

Справочная реализация

Hibernate Validator — это свободная справочная реализация валидации компонентов. Проект изначально был запущен в 2005 году компанией JBoss в рамках Hibernate Annotations, стал независимым в 2007 году, а статус справочной реализации приобрел в 2009 году (с выходом Hibernate Validator 4). В настоящее время Hibernate Validator 5 реализует валидацию компонентов (версия 1.1) и добавляет кое-какие собственные возможности, в числе которых политика быстрого отказа. В соответствии с этим принципом программа прерывает текущую валидацию и возвращается после первого же нарушения ограничивающих условий. К другим характерным особенностям этой реализации относится API для программного конфигурирования ограничений, а также дополнительные встроенные ограничения.

На момент написания этой книги Hibernate Validator 5 был единственной реализацией, совместимой с Bean Validation 1.1. В Apache BVal применялась спецификация Bean Validation 1.0, в настоящее время идет процесс сертификации на соответствие версии 1.1. Oval не реализует полную спецификацию Bean Validation, но умеет обрабатывать связанные с ней ограничения.

Написание ограничений

До сих пор мы говорили об ограничениях, применяемых к нескольким уровням вашего приложения. Такие ограничения могут быть написаны одновременно на нескольких языках, с применением разных технологий. Но я также упоминал и о дублировании валидационного кода. Итак, насколько сложно будет применить ограничение в ваших классах Java, использующих валидацию компонентов? В листинге 3.1 показано, насколько просто добавлять ограничения в бизнес-модель.

Листинг 3.1. Объект Book. Ограничения записаны ввиде аннотаций

public class Book {

··@NotNull

··private String title;

··@NotNull @Min(2)

··private Float price;

··@Size(max = 2000)

··private String description;

··private String isbn;

··private Integer nbOfPage;

··// Конструкторы, геттеры, сеттеры

}

В листинге 3.1 показан класс Book с атрибутами, конструкторами, геттерами, сеттерами и аннотациями. Некоторые из этих атрибутов аннотированы с применением встроенных ограничений, таких как @NotNull, @Min и @Size. Так мы указываем валидационной среде исполнения, что заголовок title книги не может быть равен нулю и описание description не может превышать 2000 символов. Как видите, к атрибуту могут быть применены несколько ограничений (например, price не может быть равно нулю и его значение не может быть меньше 2).

Внутренняя организация ограничения

Ограничение определяется как комбинация ограничивающей аннотации и списка реализаций валидации ограничения. Ограничивающая аннотация применяется с типами, методами, полями или другими ограничивающими аннотациями (в случае с составными элементами). В большинстве спецификаций Java EE разработчики используют заранее определенные аннотации (например, @Entity, @Stateless и @Path). Но в случае с CDI (об этом шла речь в предыдущей главе) и при валидации компонентов программистам приходится писать собственные аннотации. Известно, что ограничение при валидации компонентов состоит из:

• аннотации, определяющей ограничение;

• списка классов, реализующих ограничивающий алгоритм с заданным типом.

В то же время аннотация выражает ограничение, действующее в предметной модели. Таким образом, реализация валидации определяет, удовлетворяет ли конкретное значение заданному ограничению.

Ограничивающая аннотация

Ограничение, применяемое с JavaBean, выражается с помощью одной или нескольких аннотаций. Аннотация считается ограничивающей, если применяемая в ней политика хранения содержит RUNTIME и если сама она аннотирована javax.validation.Constraint (эта аннотация ссылается на список реализаций валидации). В листинге 3.2 показана ограничивающая аннотация NotNull. Как видите, @Constraint(validatedBy = {}) указывает на класс реализации NotNullValidator.

Листинг 3.2. Ограничивающая аннотация NotNull

@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER})

@Retention(RUNTIME)

@Documented

@Constraint(validatedBy = NotNullValidator.class)

public @interface NotNull {

··String message() default "{javax.validation.constraints.NotNull.message}";

··Class [] groups() default {};

··Class').

XML-документ

В листинге 12.1 показан XML-документ, представляющий заказ клиента в приложении CD-BookStore (см. главу 1). Следует отметить, что этот документ легко читаем, а также структурирован и, следовательно, может распознаваться внешней системой. В этом случае он описывает информацию о заказе, клиенте, купленных товарах и кредитной карте, использованной для оплаты.

Листинг 12.1.XML-документ, представляющий собой заказ

··

····j.rorri@me.com

····+44 1234 1234

····

······23.5

····

····

······34.99

····

··

··

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Энтони Гонсалвес читать все книги автора по порядку

Энтони Гонсалвес - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Изучаем Java EE 7 отзывы


Отзывы читателей о книге Изучаем Java EE 7, автор: Энтони Гонсалвес. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x