Изменение пароля
Пользователь
anonymous
Текущий пароль
*
Новый пароль
*
Подтверждение
*
Запомнить меня
Забыли пароль?
Электронная библиотека (16+)
Впервые на сайте?
Вход
/
Регистрация
Национальный цифровой ресурс
Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 617181)
Для выхода нажмите Esc или
Spring в действии (5000,00 руб.)
0
0
Первый автор
Уоллс Крейг
Авторы
Киселев А. Н.
Издательство
М.: ДМК Пресс
Страниц
546
Предпросмотр
ID
794703
Аннотация
Это исчерпывающее руководство по основным возможностям Spring, написанное простым и ясным языком. Книга шаг за шагом проведет вас по пути создания законченного веб-приложения на основе базы данных. Новое 6-е издание охватывает не только основы Spring, но также новые возможности, такие как реактивные потоки или интеграция с Kubernetes и RSocket. Независимо от того, впервые ли вы знакомитесь с фреймворком Spring или переходите на новую версию Spring 5.3, этот классический бестселлер станет вашей настольной книгой.
Кому рекомендовано
Издание предназначено Java-разработчикам, как уже использующим, так и только начинающим применять в своей работе Spring.
ISBN
978-5-93700-112-2
УДК
004.432
ББК
32.972.1
Уоллс, К. Spring в действии = Spring in Action / пер. А.Н. Киселев; К. Уоллс .— 6-е изд. — Москва : ДМК Пресс, 2022 .— 546 с. : ил. — Пер. с англ. — ISBN 978-5-93700-112-2 .— URL: https://rucont.ru/efd/794703 (дата обращения: 08.09.2025)
Популярные
Введение в теорию игр: учебное пособие
110,00 руб
Этика и права человека в информационном ...
220,00 руб
Блок-схемы на основные технологические ц...
220,00 руб
Программирование технологических контрол...
200,00 руб
Современные направления развития измерит...
150,00 руб
Библиотековедение, библиографоведение и ...
290,00 руб
Вы уже смотрели
Краткая история развития шрифта
190,00 руб
Актуальные вопросы статистических исслед...
150,00 руб
Право социального обеспечения России
6000,00 руб
Нефтепромысловое дело. Oilfield Engineer...
1815,00 руб
Предпросмотр (выдержки из произведения)
Резюме документа
Страницы
Текст
Spring_в_действии.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
Spring_в_действии.pdf
УДК 004.432 ББК 32.972.1 У63 У63 Spring в действии. 6-е изд. / пер. с англ. А. Н. Киселева. – М.: ДМК Пресс, 2022. – 544 с.: ил. Уоллс К. ISBN 978-5-93700-112-2 Это исчерпывающее руководство по основным возможностям Spring, написанное простым и ясным языком. Книга шаг за шагом проведет вас по пути создания законченного веб-приложения на основе базы данных. Новое 6-е издание охватывает не только основы Spring, но также новые возможности, такие как реактивные потоки или интеграция с Kubernetes и RSocket. Независимо от того, впервые ли вы знакомитесь с фреймворком Spring или переходите на новую версию Spring 5.3, этот классический бестселлер станет вашей настольной книгой. Издание предназначено Java-разработчикам, как уже использующим, так и только начинающии применять в своей работе Spring. УДК 004.432 ББК 32.972.1 Original English language edition published by Manning Publications USA. Copyright © 2022 by Manning Publications. Russian-language edition copyright © 2022 by DMK Press. All rights reserved. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-6172-9757-1 (англ.) ISBN 978-5-93700-112-2 (рус.) © Manning Publications, 2022 © Перевод, оформление, издание, ДМК Пресс, 2022
Стр.5
Оглавление Часть I ОСНОВЫ SPRING .................................................................................24 1 Введение в Spring ...................................................................................25 2 Разработка веб-приложений .................................................................54 3 Работа с данными ...................................................................................88 4 Работа с нереляционными данными ..................................................123 5 Безопасность в Spring ...........................................................................144 6 Работа с конфигурацией ......................................................................173 Часть II ИНТЕГРАЦИЯ С ПРИЛОЖЕНИЯМИ SPRING ...............................196 7 Создание служб REST ...........................................................................197 8 Безопасность REST API .........................................................................222 9 Асинхронная передача сообщений .....................................................247 10 Интеграция Spring ................................................................................283 Часть III РЕАКТИВНЫЙ SPRING .....................................................................317 11 Введение в Reactor ................................................................................318 12 Разработка реактивных API .................................................................350 13 Реактивное хранение данных ..............................................................382 14 RSocket ...................................................................................................416 Часть IV РАЗВЕРТЫВАНИЕ SPRING ..............................................................433 15 Spring Boot Actuator ..............................................................................434 16 Администрирование Spring .................................................................472 17 Мониторинг Spring с помощью JMX....................................................484 18 Развертывание Spring ..........................................................................492
Стр.6
Содержание Из отзывов к пятому изданию книги Крейга Уоллса «Spring в действии» ........ 13 Предисловие ........................................................................................................ 14 Благодарности .................................................................................................... 15 Об этой книге ..................................................................................................... 17 Об авторе ........................................................................................................... 22 Об иллюстрации на обложке .............................................................................. 23 Часть I ОСНОВЫ SPRING ................................................................ 24 1 Введение в Spring.................................................................................. 25 1.1 1.2 1.3 Что такое Spring? .................................................................................... 26 Инициализация приложения Spring ..................................................... 29 1.2.1 Инициализация проекта Spring с помощью Spring Tool Suite .......... 30 1.2.2 Структура проекта Spring ........................................................... 34 1.4 Разработка приложения Spring ............................................................. 41 1.3.1 Обработка веб-запросов ............................................................... 41 1.3.2 Определение представления ......................................................... 42 1.3.3 Тестирование контроллера .......................................................... 43 1.3.4 Сборка и запуск приложения ......................................................... 45 1.3.5 Spring Boot DevTools ...................................................................... 47 1.3.6 Обзор результатов ....................................................................... 49 Spring Boot .................................................................................... 51 Spring Data .................................................................................... 51 Spring Security ............................................................................... 52 Spring Integration и Spring Batch ..................................................... 52 Spring Cloud .................................................................................. 52 Spring Native ................................................................................. 53 Обзор ландшафта Spring ........................................................................ 50 1.4.1 Ядро Spring Framework .................................................................. 50 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 2 Итоги ................................................................................................................. 53 Разработка веб-приложений .................................................... 54 2.1 Отображение информации .................................................................... 55 2.1.1 Предметная область ингредиентов .............................................. 56
Стр.7
Содержание 7 2.2 2.3 2.4 2.1.2 Создание класса контроллера ....................................................... 60 2.1.3 Создание представления ............................................................... 63 Обработка отправленной формы .......................................................... 68 Проверка данных в форме ..................................................................... 75 2.3.1 Объявление правил проверки ......................................................... 76 2.3.2 Выполнение проверки после привязки ............................................ 79 2.3.3 Отображение сообщений об ошибках ............................................ 80 Работа с контроллерами представлений .............................................. 82 2.5 Выбор механизма шаблонов для создания представлений ................ 84 2.5.1 Кеширование шаблонов ................................................................. 85 Итоги ................................................................................................................. 86 3 Работа с данными .............................................................................. 88 3.1 3.2 Чтение и запись данных с помощью JDBC ........................................... 89 3.1.1 Подготовка объектов данных к хранению ..................................... 91 3.1.2 Использование JdbcTemplate .......................................................... 92 3.1.3 Определение схемы и предварительная загрузка данных ............... 98 3.1.4 Сохранение данных ......................................................................101 3.3 Spring Data JDBC ....................................................................................106 3.2.1 Добавление Spring Data JDBC в спецификацию сборки ...................107 3.2.2 Определение интерфейсов репозиториев .....................................107 3.2.3 Аннотирование классов данных предметной области ..................109 3.2.4 Предварительная загрузка данных с помощью CommandLineRunner ....................................................................112 Хранение данных с по мощью Spring Data JPA ....................................114 3.3.1 Добавление зависимости Spring Data JPA .....................................114 3.3.2 Аннотирование классов данных предметной области ..................115 3.3.3 Объявление репозиториев JPA ......................................................119 3.3.4 Специализация репозиториев ......................................................119 Итоги ................................................................................................................122 4 5 Работа с нереляционными данными .................................123 4.1 Репозитории в Cassandra ......................................................................124 4.1.1 Включение Spring Data Cassandra .................................................124 4.1.2 Моделирование данных в Cassandra ..............................................128 4.1.3 Отображение типов данных предметной области для хранения в Cassandra .............................................................129 4.1.4 Определение репозиториев Cassandra ..........................................135 4.2 Определение репозиториев MongoDB .................................................136 4.2.1 Включение Spring Data MongoDB ..................................................137 4.2.2 Отображение типов данных предметной области в документы ................................................................................138 4.2.3 Определение репозиториев MongoDB ...........................................141 Итоги ................................................................................................................143 Безопасность в Spring ....................................................................144 5.1 5.2 Включение Spring Security ....................................................................145 Настройка аутентификации .................................................................147 5.2.1 Служба хранения сведений о пользователях в памяти ..................149 5.2.2 Настройка аутентификации пользователя .................................150
Стр.8
8 Содержание 5.3 Защита веб-запросов ............................................................................157 5.3.1 Защита запросов .........................................................................157 5.3.2 Создание страницы входа ............................................................160 5.3.3 Использование сторонних систем аутентификации ....................163 5.3.4 Предотвращение подделки межсайтовых запросов ......................166 Безопасность на уровне методов .........................................................167 Знай своего пользователя .....................................................................169 Итоги ................................................................................................................172 5.4 5.5 6 Работа с конфигурацией ..............................................................173 6.1 Тонкая настройка автоконфигурации .................................................174 6.1.1 Абстракция окружения Spring ......................................................175 6.1.2 Настройка источника данных .....................................................176 6.1.3 Настройка встроенного сервера ..................................................178 6.1.4 Настройка журналирования ........................................................179 6.1.5 Использование специальных значений свойств .............................181 6.3 Настройка с по мощью профилей .........................................................190 6.3.1 Определение свойств профиля .....................................................191 6.3.2 Активация профилей ...................................................................192 6.3.3 Условное создание bean-компонентов для профилей.....................193 Итоги ................................................................................................................195 6.2 Создание своих конфигурационных свойств ......................................182 6.2.1 Определение хранителей конфигурационных свойств ..................184 6.2.2 Объявление метаданных конфигурационного свойства ................187 Часть II ИНТЕГРАЦИЯ С ПРИЛОЖЕНИЯМИ SPRING ..........................................................................................196 7 8 Создание служб REST ......................................................................197 Извлечение данных с сервера ........................................................198 7.2 7.3 7.1.2 Отправка данных на сервер .........................................................204 7.1.3 Изменение данных на сервере .......................................................205 7.1.4 Удаление данных на сервере .........................................................208 Включение услуг на основе данных .....................................................209 7.2.1 Настройка имен отношений и путей к ресурсам .........................212 7.2.2 Деление на страницы и упорядочение ...........................................214 7.1 Создание контроллеров RESTful ..........................................................198 7.1.1 Использование служб REST ..................................................................215 7.3.1 Получение ресурса запросом GET..................................................217 7.3.2 Отправка ресурса запросом PUT ..................................................219 7.3.3 Удаление ресурса запросом DELETE ..............................................219 7.3.4 Отправка ресурса запросом POST ................................................220 Итоги ................................................................................................................221 Безопасность REST API.................................................................222 8.1 Знакомство с OAuth 2 ............................................................................223 8.2 Создание сервера авторизации ............................................................229
Стр.9
Содержание 9 8.3 8.4 Защита API с по мощью сервера ресурсов ............................................238 Разработка клиента ...............................................................................241 Итоги ................................................................................................................246 9 10 Асинхронная передача сообщений........................................247 9.1 9.2 Отправка сообщений с по мощью JMS .................................................248 9.1.1 Настройка JMS ............................................................................249 9.1.2 Отправка сообщений с по мощью JmsTemplate ..............................251 9.1.3 Получение сообщений с по мощью JMS ...........................................260 RabbitMQ и AMQP ..................................................................................264 9.2.1 Добавление поддержки RabbitMQ в приложение Spring .................266 9.2.2 Отправка сообщений с по мощью RabbitTemplate ..........................267 9.2.3 Получение сообщений из RabbitMQ ...............................................271 9.3 Обмен сообщениями с по мощью Kafka ...............................................276 9.3.1 Настройка Spring для обмена сообщениями через Kafka ...............277 9.3.2 Отправка сообщений с по мощью KafkaTemplate ...........................278 9.3.3 Получение сообщений из Kafka ......................................................280 Итоги ................................................................................................................282 Интеграция Spring ............................................................................283 10.1 Объявление простого потока интеграции ...........................................284 10.1.1 Определение потоков интеграции в XML .....................................286 10.1.2 Определение потоков интеграции в коде на Java ..........................288 10.1.3 Конфигурация на Spring Integration DSL ........................................290 10.2 Обзор ландшафта Spring Integration ....................................................291 10.2.1 Каналы сообщений .......................................................................292 10.2.2 Фильтры .....................................................................................294 10.2.3 Преобразователи.........................................................................295 10.2.4 Маршрутизаторы .......................................................................296 10.2.5 Сплиттеры .................................................................................298 10.2.6 Активаторы служб .....................................................................301 10.2.7 Шлюзы .........................................................................................303 10.2.8 Адаптеры каналов .......................................................................304 10.2.9 Модули конечных точек ...............................................................306 10.3 Создание потока интеграции для электронной почты ......................308 Итоги ................................................................................................................316 Часть III РЕАКТИВНЫЙ SPRING ................................................317 Введение в Reactor ..............................................................................318 11 11.1 Основы реактивного программирования ...........................................319 11.1.1 Определение реактивных потоков данных ...................................321 11.2 Reactor ....................................................................................................323 11.2.1 Диаграммы реактивных потоков ................................................325 11.2.2 Добавление зависимости от Reactor ............................................326 11.3 Использование распространенных реактивных операций ................327 11.3.1 Создание реактивных типов ........................................................327 11.3.2 Комбинирование реактивных типов ............................................332
Стр.10
10 Содержание 11.3.3 Преобразование и фильтрация реактивных потоков ...................336 11.3.4 Выполнение логических операций с реактивными типами ............347 Итоги ................................................................................................................349 12 Разработка реактивных API ...................................................350 12.1 Spring WebFlux .......................................................................................350 12.1.1 Введение в Spring WebFlux ............................................................352 12.1.2 Создание реактивных контроллеров ............................................354 12.2 Определение обработчиков запросов в функциональном стиле ......359 12.3 Тестирование реактивных контроллеров ............................................363 12.3.1 Тестирование запросов GET .........................................................363 12.3.2 Тестирование запросов POST .......................................................366 12.3.3 Тестирование с использованием действующего сервера ...............367 12.4 Реактивный REST API ............................................................................368 12.4.1 Получение ресурсов ......................................................................369 12.4.2 Отправка ресурсов ......................................................................371 12.4.3 Удаление ресурсов ........................................................................372 12.4.4 Обработка ошибок ......................................................................373 12.4.5 Обмен запросами .........................................................................375 12.5 Защита реактивного веб-API ................................................................376 12.5.1 Реактивная модель настройки безопасности ..............................377 12.5.2 Настройка реактивной службы учетных записей ........................379 Итоги ................................................................................................................380 13 14 Реактивное хранение данных ..................................................382 13.1 R2DBC .....................................................................................................383 13.1.1 Определение сущностей предметной области для R2DBC ............384 13.1.2 Определение реактивных репозиториев ......................................389 13.1.3 Тестирование репозиториев R2DBC ............................................391 13.1.4 Определение службы управления агрегатами в OrderRepository ....393 13.2 Реактивное хранилище документов в MongoDB .................................399 13.2.1 Определение типов документов ..................................................400 13.2.2 Определение реактивных репозиториев MongoDB .......................403 13.2.3 Тестирование реактивных репозиториев MongoDB .....................404 13.3 Реактивное хранилище данных в Cassandra .......................................407 13.3.1 Определение классов предметной области для Cassandra ............408 13.3.2 Создание реактивных репозиториев Cassandra ............................412 13.3.3 Тестирование реактивных репозиториев Cassandra ....................413 Итоги ................................................................................................................415 RSocket .........................................................................................................416 14.1 Введение в RSocket ................................................................................417 14.2 Создание простого сервера и клиента RSocket ...................................419 14.2.1 Реализация модели «запрос–ответ» ............................................420 14.2.2 Реализация модели «запрос–поток» .............................................423 14.2.3 Реализация модели «запустил и забыл» ........................................425 14.2.4 Двунаправленная передача сообщений .........................................427 14.3 Передача по протоколу RSocket через WebSocket ...............................431 Итоги ................................................................................................................432
Стр.11
Содержание 11 Часть IV РАЗВЕРТЫВАНИЕ SPRING ......................................433 Spring Boot Actuator ..........................................................................434 15 15.1 Введение в Actuator ...............................................................................435 15.1.1 Настройка базового пути Actuator ..............................................436 15.1.2 Включение и отключение конечных точек Actuator .......................436 15.2 Использование конечных точек Actuator ............................................438 15.2.1 Получение важной информации о приложении .............................439 15.2.2 Просмотр сведений о конфигурации .............................................442 15.2.3 Наблюдение за действиями приложения ......................................451 15.2.4 Получение метрик времени выполнения .......................................453 15.3 Настройка Actuator ................................................................................457 15.3.1 Добавление информации в конечную точку /info ...........................457 15.3.2 Определение своих индикаторов работоспособности ..................462 15.3.3 Регистрация пользовательских метрик .......................................464 15.3.4 Создание пользовательских конечных точек ................................466 16 17 18 15.4 Защита конечных точек Actuator .........................................................469 Итоги ................................................................................................................471 Администрирование Spring .......................................................472 16.1 Spring Boot Admin ..................................................................................473 16.1.1 Создание сервера Admin ...............................................................473 16.1.2 Регистрация клиентов сервера Admin ..........................................475 16.2 Исследование возможностей сервера Admin ......................................476 16.2.1 Обзор общего состояния приложения ...........................................477 16.2.2 Просмотр ключевых метрик ........................................................478 16.2.3 Исследование свойств окружения .................................................478 16.2.4 Просмотр и изменение уровней журналирования .........................480 16.3 Защита сервера Admin ..........................................................................481 16.3.1 Включение регистрации на сервере Admin ....................................481 16.3.2 Аутентификация в Actuator .........................................................482 Итоги ................................................................................................................483 Мониторинг Spring с помощью JMX ..................................484 17.1 Работа с компонентами MBean в Actuator ...........................................484 17.2 Создание своих компонентов MBean ...................................................487 17.3 Отправка уведомлений .........................................................................489 Итоги ................................................................................................................491 Развертывание Spring ....................................................................492 18.1 Варианты развертывания .....................................................................493 18.2 Сборка выполняемых файлов JAR ........................................................494 18.3 Сборка образа контейнера ....................................................................495 18.3.1 Развертывание в Kubernetes .........................................................499 18.3.2 Корректное завершение работы ..................................................501 18.3.3 Проверка готовности и жизнеспособности приложения ..............502 18.4 Создание и развертывание файлов WAR .............................................506 18.5 Закончим тем, с чего начинали ............................................................508 Итоги ................................................................................................................508
Стр.12
12 Содержание A Создание проектов приложений Spring ..........................509 A.1 Инициализация проекта с по мощью Spring Tool Suite .......................509 A.2 Инициализация проекта с по мощью IntelliJ IDEA ..............................513 A.3 Инициализация проекта с помощью NetBeans ...................................514 A.4 Инициализация проекта с помощью start.spring.io............................519 A.5 Инициализация проекта из командной строки ..................................522 A.6 Сборка и запуск проектов .....................................................................525 Предметный указатель .....................................................................................527
Стр.13
Облако ключевых слов *
* - вычисляется автоматически
Мы используем куки, чтобы сделать сайт удобней для вас.
Подробнее
Хорошо