Гонсалвес Э., Изучаем Java EE 7
серия: Java. Язык программирования
Питер, 2016 г., 978-5-496-00942-3
Описание книги
Ключевые слова
Поделиться ссылкой на книгу
Содержание книги
Об авторе
О техническом редакторе
Благодарности
Введение
Структура книги
Скачивание и запуск кода
Связь с автором
От издательства
Глава 1. Краткий обзор Java ЕЕ 7
Понимание Java ЕЕ
Архитектура
Компоненты
Контейнеры
Сервисы
Сетевые протоколы
Упаковка
Аннотации и дескрипторы развертывания
Стандарты
JCP
Портируемость
Модель программирования
Java Standard Edition 7
Строковый оператор
Ромбовидная нотация
Конструкция try-with-resources
Multicatch-исключения
NIO.2
Обзор спецификаций Java ЕЕ
Краткая история Java ЕЕ
Отсечение
Спецификации Java ЕЕ 7
Спецификации веб-профиля 7
Приложение CD-BookStore
Резюме
Глава 2. Контекст и внедрение зависимостей
Понятие компонентов
Внедрение зависимостей
Управление жизненным циклом
Области видимости и контекст
Перехват
Слабая связанность и строгая типизация
Дескриптор развертывания
Обзор спецификаций по CDI
Краткая история спецификаций CDI
Что нового в CDI 1.1
Базовая реализация
Создание компонента CDI
Внутренняя организация компонента CDI
Внедрение зависимостей
Альтернативы
Производители данных
Утилизаторы
Области видимости
Компоненты в языке выражений
Перехватчики
Перехватчики целевого класса
Перехватчики классов
Перехватчик жизненного цикла
Связывание и исключение перехватчиков
Связывание с перехватчиком
Приоритизация связывания перехватчиков
Декораторы
События
Все вместе
Написание классов Book и BookService
Написание классов NumberGenerator
Написание квалификаторов
Написание автоматического журнала
Написание класса Main
Приведение в действие CDI с beans.xml
Компиляция и выполнение с помощью Maven
Запуск класса Main
Написание класса BookServicelT
Активизация альтернатив и перехватчиков в
файлах beans.xml для интеграционного
тестирования
Запуск интеграционного теста
Резюме
Глава 3. Валидация компонентов
Понятие об ограничениях и валидации
Приложение
База данных
Клиент
Интероперабельность
Обзор спецификации валидации компонентов
Краткая история валидации компонентов
Что нового появилось в версии Bean Validation 1.1
Справочная реализация
Написание ограничений
Внутренняя организация ограничения
Встроенные ограничения
Определение собственных ограничений
Сообщения
Контекст ConstraintValidator
Группы
Дескрипторы развертывания
Валидация ограничений
Валидационные API
Валидация компонентов
Валидация свойств
Валидация значений
Валидация методов
Валидация групп
Все вместе
Написание компонента Customer
Написание компонента Address
Написание ограничения ©Email
Написание ограничения @ZipCode
Написание интеграционных тестов CustomerIT и
AddressIT
Компиляция и тестирование в Maven
Резюме
Глава 4. Java Persistence API
Понятие сущностей
Анатомия сущности
Объектно-реляционное отображение
Выполнение запросов к сущностям
Единица сохраняемости
Жизненный цикл сущности и обратные вызовы
Интеграция с Bean Validation
Обзор спецификации JPA
Краткая история JPA
Что нового в JРА 2.1
Эталонная реализация
Все вместе
Написание сущности Book
Написание класса Main
Написание интеграционного теста BookIT
Написание единицы сохраняемости
Написание SQL-сценария для загрузки данных
Компиляция и тестирование с использованием
Maven
Применение класса Main с использованием Maven
Проверка сгенерированной схемы
Резюме
Глава 5. Объектно-реляционное отображение
Элементарное отображение
Таблицы
Первичные ключи
Атрибуты
Тип доступа
Коллекции базовых типов
Отображение базовых типов
Отображение с использованием XML
Встраиваемые объекты
Отображение связей
Связи в реляционных базах данных
Связи между сущностями
Выборка связей
Упорядочение связей
Отображение наследования
Стратегии наследования
Типы классов в иерархии наследования
Резюме
Глава 6. Управление постоянными объектами
Менеджер сущностей
Получение менеджера сущностей
Контекст постоянства
Манипулирование сущностями
JPQL
SELECT
FROM
WHERE
ORDER BY
GROUP BY и HAVING
Массовое удаление
Массовое обновление
Запросы
Динамические запросы
Именованные запросы
Criteria API (или объектно-ориентированные
запросы)
"Родные" запросы
Запросы к хранимым процедурам
Cache API
Конкурентный доступ
Контроль версий
Оптимистическая блокировка
Пессимистическая блокировка
Жизненный цикл сущности
Обратные вызовы
Слушатели
Резюме
Глава 7. Корпоративные EJB-компоненты
Понятие корпоративных EJB-компонентов
Типы EJB-компонентов
Процесс и встроенный контейнер
Службы, обеспечиваемые контейнером
EJB Lite
Обзор спецификации EJB
Краткая история спецификации EJB
Что нового в EJB 3.2
Эталонная реализация
Написание корпоративных EJB-компонентов
Анатомия EJB-компонента
Класс EJB-компонента
Удаленные и локальные представления, а также
представление без интерфейса
Интерфейсы веб-служб
Переносимое JNDI-имя
EJB-компоненты без сохранения состояния
EJB-компоненты с сохранением состояния
Одиночные EJB-компоненты
Инициализация при запуске
Объединение одиночных EJB-компонентов в
цепочку
Конкурентный доступ
Конкурентный доступ, управляемый контейнером
Конкурентный доступ, управляемый
EJB-компонентом
Время ожидания конкурентного доступа и запрет
конкурентного доступа
Внедрение зависимостей
API-интерфейс SessionContext
Асинхронные вызовы
Дескриптор развертывания
Контекст именования среды
Упаковка
Развертывание EJB-компонента
Вызов корпоративных EJB-компонентов
Вызов с использованием внедрения
Вызове использованием CDI
Вызове использованием JNDI
Резюме
Глава 8. Функции обратного вызова, служба
таймера и авторизация
Жизненный цикл сеансовых компонентов
Компоненты, не сохраняющие состояния, и
синглтоны
Компоненты, хранящие состояние
Методы обратного вызова
Служба таймера
Выражения на основе календаря
Декларативное создание таймера
Программное создание таймера
Авторизация
Декларативная авторизация
Программная авторизация
Все вместе
Написание сущности Entity
Написание сеансового компонента BookEJB, не
сохраняющего состояние
Написание CDI DatabaseProducer
Блок хранения для BookEJB
Написание DatabasePopulator и определение
источника данных
Написание интеграционного теста BookEJBIT
Компиляция, тестирование и упаковка с помощью
Maven
Развертывание на GlassFish
Написание класса Main
Резюме
Глава 9. Транзакции
Понимание транзакций
Правила ACID
Условия считывания
Уровни изоляции транзакций
Локальные транзакции JTA
Распределенные транзакции и ХА
Обзор спецификаций для работы с транзакциями
Краткая история JTA
Что нового в версии 1.2 JTA
Примеры реализации
Поддержка транзакций в EJB
Маркировка СМТ для отката транзакции
Исключения и транзакции
Поддержка транзакций в Managed Beans
Резюме
Глава 10. JavaServer Faces
Концепция веб-страниц
HTML
XHTML
CSS
DOM
JavaScript
Концепция JSF
FacesServlet
Страницы и компоненты
Facelets
Отрисовщики
Преобразователи и валидаторы
Компоненты-подложки и навигация
Язык выражений
Поддержка AJAX
Обзор спецификации JSF
Краткая история веб-интерфейсов
Краткая история JSF
Что нового в JSF 2.2
Эталонные реализации
Создание JSF-страниц и компонентов
Структура страницы JSF
Заголовок
Body
Жизненный цикл
Анатомия компонентов JSF
HTML-компоненты JSF
Команды
Цели
Компоненты ввода
Компоненты вывода
Компоненты выбора
Графика
Сетка и таблицы
Сообщения об ошибках
Разное
Базовые атрибуты
Основные теги JSF
Теги шаблонов JSF
Теги JSTL
Основные действия
Действия форматирования
Управление ресурсами
Неявные объекты
Составные компоненты
Резюме
Глава 11. Обработка и навигация
Шаблон MVC
FacesServlet
FacesContext
Faces-config.xml
Создание компонентов-подложек
Структура компонентов-подложек
Области действия
Жизненный цикл и аннотации функций обратного
вызова
Обработка исключений и сообщений
Объединение JSF и EJB
Навигация
Явная навигация
Правила навигации
Добавление страниц в закладки
Преобразование и проверка
Преобразователи
Пользовательские преобразователи
Валидаторы
Пользовательские валидаторы
Интеграция с Bean Validation
AJAX
Общие понятия
Поддержка в JSF
Все вместе
Написание сущности Book
Написание BookEJB
Написание компонента-подложки BookController
Написание шаблона layout.xhtml
Написание страницы newBook.xhtml
Написание страницы viewBook.xhtml
Компиляция и упаковка с помощью Maven
Развертывание на GlassFish
Запуск примера
Резюме
Глава 12. Обработка XML и JSON
Основные сведения обХМ1_
XML- документ
Проверка схемы XML
Анализ с помощью SAX и DOM
DOM
SAX
Выполнение запросов с помощью XPath
Преобразование с помощью XSLT
Обзор спецификаций XML
Краткая история XML-спецификаций
Спецификации XML в Java
Примеры реализаций
Архитектура Java для обработки XML
Конфигурирование JAXP
JAXPnSAX
JAXP и DOM
JAXP и XSLT
Архитектура Java для связывания XML
Связывание
Аннотации
Основные сведения о JSON
Обзор спецификаций JSON
JSON-P
Пример реализации
Обработка JSON
Построение JSON
Анализ JSON
Генерация JSON
Все вместе
Написание класса CreditCard
Написание теста CreditCardXMLTest
Написание теста CreditCardJSonTest
Резюме
Глава 13. Обмен сообщениями
Основные сведения об обмене сообщениями
Отточки к точке
Публикация-подписка
Администрируемые объекты
Компоненты, управляемые сообщениями
Обзор спецификаций обмена сообщениями
Краткая история обмена сообщениями
Что нового в JMS 2.0
Что нового в EJB 3.2
Примеры реализации
Java Messaging Service API
Классический API
ConnectionFactory
Место назначения
Соединение
Сеанс
Сообщения
Заголовок
Свойства
Тело сообщения
Отправка и получение сообщений с помощью
классического API
Упрощенный API
JMSContext
JMSProducer
JMSConsumer
Написание производителей сообщений
Производство сообщения вне контейнера
Производство сообщения внутри контейнера
Производство сообщений внутри контейнера с
помощью CDI
Написание потребителей сообщений
Синхронная доставка
Асинхронная доставка
Механизмы надежности
Фильтрация сообщений
Настройка параметров времени существования
сообщений
Задание стойкости сообщения
Управление подтверждением
Создание стойких потребителей
Определение приоритетов
Написание компонентов, управляемых сообщениями
Структура MDB
@MessageDriven
@ActivationConfigProperty
Внедрение зависимостей
Контекст MDB
Жизненный цикл и аннотации функций обратного
вызова
MD8 как потребитель
MDB как производитель сообщений
Транзакции
Обработка исключений
Все вместе
Написание класса OrderDTO
Написание класса OrderProducer
Написание OrderConsumer
Написание класса ExpensiveOrderMDB
Компиляция и упаковка с помощью Maven
Создание администрируемых объектов
Развертывание MDB HaGlassFish
Выполнение примера
Резюме
Глава 14. Веб-службы SOAP
Основные сведения о веб-службах SOAP
XML
WSDL
SOAP
UDDI
Транспортный протокол
Обзор спецификаций веб-служб SOAP
Краткая история спецификаций веб-служб SOAP
Спецификации, связанные с веб-службами SOAP
JAX-WS2.2a
Web Services 1.3
WS-Metadata 2.3
Что нового в спецификации веб-служб SOAP
Примеры реализаций
Создание веб-служб SOAP
Структура веб-службы SOAP
Конечные точки веб-служб SOAP
Преобразование WSDL
@WebService
©WebMethod
@WebResult
@WebParam
@OneWay
@SoapBinding
Собираем все преобразования воедино
Обработка исключений
Жизненный цикл и функции обратного вызова
WebServiceContext
Дескриптор развертывания
Упаковка
Публикация веб-служб SOAP
Вызов веб-служб SOAP
Структура потребителя SOAP
Программный вызов
Вызове помощью внедрения
Вызове помощью CDI
Все вместе
Написание класса CreditCard
Написание веб-службы SOAP CardValidator
Написание модульного теста CardValidatorTest
Написание интеграционного теста CardValidatorIT
Компиляция, тестирование и упаковка с помощью
Maven
Развертывание на GlassFish
Написание класса WebServiceConsumer
Создание артефактов потребителя и упаковка с
помощью Maven
Запуск класса WebServiceConsumer
Резюме
Глава 15. Веб-службы встиле REST
Понятие о веб-службах RESTful
Практика работы в браузере
Ресурсы и URI
Представления
Адресуемость
Связность
Единообразный интерфейс
Отсутствие сохранения состояния
HTTP
От Сети к веб-службам
WADL
Обзор спецификаций веб-служб с передачей
состояния представления
Краткая история REST
API Java для веб-служб с передачей состояния
представления
Что нового в JAX-RS 2.0
Справочная реализация
Написание веб-служб с передачей состояния
представления
Структура веб-службы с передачей состояния
представления
Выполнение операций CRUD над веб-службами в
стиле REST
Определение URI и URI связывания
Извлечение параметров
Использование и создание типов содержимого
Возвращаемые типы
Сопоставление HTTP-методов
Контекстная информация
Поставщик объектов
Обработка исключений
Жизненный цикл и обратные вызовы
Упаковка
Вызов веб-служб в стиле REST
Клиентский API
Структура потребителя REST
Все вместе
Написание сущности Book
Написание JAXB-компонента Books
Написание службы BookRestService
Конфигурирование JAX-RS
Компиляция и упаковка с помощью Maven
Развертывание в GlassFish
WADL
Написание интеграционного теста BookRestServicelT
Резюме
Об авторе
Отзывы
Рассматривается практический полный спектр актуальных технологий Java EE, с примерами, пояснениями, не оставляя темных мест, на хорошем, достаточно глубоком уровне.
Книга очень помогла и помогает в работе.
По объему и охвату не могу вспомнить ничего похожего на русском языке по современной версии Java EE
Много таблиц, UML-диаграмм, дающих наиболее полное преставление о работе с ними.
Рекомендую.
Достаточно взглянуть на многообразие терминов, чтобы понять сложность:
EJB, JDBC, JPA, JPQL, JSP, JSTL, JSF, EL, JNDI, JAX-WS, JAX-RS, JMS, JTA, CDI и т.д.
Java EE для новичка это настоящий гордиев узел.
Для многих начало изучения Java EE может одновременно стать и его концом. Ситуация усложняется тем, что все тематические статьи в интернете сразу окунают вас в пучину этого многообразия, не дав опомниться.
Чем хороша "Изучаем Java EE 7", так это тем, что она ставит все на свои места - Энтони Гонсалвес объясняет какими технологиями в Java EE 7 вы должны пользоваться, как они соотносятся между собой, а самое главное на смену каких парадигм пришли. Для меня особый интерес составили разделы "Краткая история..." - небольшие исторические справки, примерно на одну-две страницы, о том, когда технология появилась, на смену чему пришла, что было до неё, когда обновлялась. Из них я смог узнать что уже устарело, а что в последней версии актуально.
Автор дает понять: Java EE - это современная, мощная, удобная и хорошо продуманная платформа. Позволяющая создавать надежные, масштабируемые и переносимые сайты не тратя лишних усилий.
Энтони Гонсалвесу хорошо удается объяснить материал, для лучшего усвоения он использует схемы, таблицы и UML-диаграммы.
Стоит отметить особым образом - книга не рассчитана на новичков, здесь нет примеров "Hello world" на Glassfish или Apache Tomcat. Большая часть посвящена описанию фундаментальных концепций - внедрение зависимостей, валидация компонентов, работа с базами данных (целых три главы), EJB-компоненты, транзакции и т.д. А все примеры собираются через утилиту Maven. Поэтому человек, который взялся за её чтение должен обладать опытом работы с платформой.
Обычно про такие книги говорят - к прочтению обязательна. Обязательна для всех, кто хочет связать свою карьеру с созданием сайтов и интернет проектов на базе Java EE.
Последние поступления в рубрике "Java"
Java. Задачи по основам программирования. Более 600 задач, около 150 задач с решениями Канель Е.
Предлагаемый задачник адресуется тем, кто решил освоить основы программирования на языке Java — как в рамках коллективных занятий (на уроках, факультативах или кружках), так и при самостоятельном индивидуальном обучении. Задачник содержит более 600...... | |
Head First. Паттерны проектирования. Обновленное юбилейное издание Фримен Э.
Больше 12 лет прошло с момента выхода первого издания книги, но она продолжает оставаться актуальной. Основные идеи не изменились, но изменился язык Java, например, появились лямбда-выражения. Поэтому авторы приняли решение обновить легендарную книгу...... | |
Java Concurrency на практике Гетц Б.
Потоки являются фундаментальной частью платформы Java. Многоядерные процессоры — это обыденная реальность, а эффективное использование параллелизма стало необходимым для создания любого высокопроизводительного приложения. Улучшенная виртуальная машина...... |
Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Гонсалвес Э., Изучаем Java EE 7 в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.