Spring Boot по-быстрому

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Spring Boot, который скачивают более 75 миллионов раз в месяц, — наиболее широко используемый фреймворк Java. Его удобство и возможности совершили революцию в разработке приложений, от монолитных до микросервисов. Тем не менее простота Spring Boot может привести в замешательство. Что именно разработчику нужно изучить, чтобы сразу же выдавать результат? Это практическое руководство научит вас писать успешные приложения для критически важных задач. Марк Хеклер из VMware, компании, создавшей Spring, проведет вас по всей архитектуре Spring Boot, охватив такие вопросы, как отладка, тестирование и развертывание. Если вы хотите быстро и эффективно разрабатывать нативные облачные приложения Java или Kotlin на базе Spring Boot с помощью реактивного программирования, создания API и доступа к разнообразным базам данных — эта книга для вас.

Author(s): Марк Хеклер
Series: Бестселлеры O’Reilly
Edition: 1
Publisher: Питер
Year: 2022

Language: Russian
Commentary: Vector PDF
Pages: 352
City: СПб.
Tags: Debugging; Java; Monitoring; Reactive Programming; Application Development; Unit Testing; Spring Framework; Kotlin; Model-View-Controller Pattern; Gradle; REST API; Maven; Database Access

Предисловие
Добро пожаловать
Условные обозначения
Использование примеров кода
Благодарности
От издательства
Глава 1. Коротко о Spring Boot
Три основополагающие возможности Spring Boot
Упрощение управления зависимостями с помощью стартовых пакетов
Упрощение развертывания с помощью исполняемых JAR-файлов
Автоконфигурация
Резюме
Глава 2. Выбираем инструменты и приступаем к работе
Maven или Gradle?
Apache Maven
Gradle
Выбор между Maven и Gradle
Java или Kotlin
Java
Kotlin
Выбор между Java и Kotlin
Выбираем версию Spring Boot
Spring Initializr
Прямиком из командной строки
Работа в интегрированных средах разработки
Прогулка по функции main()
Резюме
Глава 3. Создаем первый Spring Boot REST API
«Как» и «почему» API
Что такое REST и почему это важно
API в стиле HTTP-«глаголов»-команд
Возвращаемся к Initializr
Создание простого класса предметной области
GET
Коротко об аннотации @RestController
POST
PUT
DELETE
И не только
Доверяй, но проверяй
Резюме
Глава 4. Добавление в приложение Spring Boot доступа к базе данных
Подготовка автоконфигурации для доступа к базе данных
Чего мы надеемся добиться
Добавление зависимости для базы данных
Добавление кода
Сохранение и извлечение данных
Наводим лоск
Резюме
Глава 5. Настройка и контроль приложения Spring Boot
Конфигурация приложения
@Value
@ConfigurationProperties
Возможные сторонние решения
Отчет об автоконфигурации
Actuator (Актуатор)
Открываем доступ к актуатору
Лучше учитываем среду приложения с помощью актуатора
Регулировка уровня журналирования с помощью Actuator
Резюме
Глава 6 Займемся данными по-настоящему
Описание сущностей
Поддержка шаблонов
Поддержка репозиториев
@Before
Создание с помощью Redis сервиса на основе шаблона
Инициализация проекта
Разработка сервиса Redis
Преобразование из шаблона в репозиторий
Создание сервиса на основе репозитория с помощью Java Persistence API
Инициализация проекта
Разработка JPA-сервиса (MySQL)
Загрузка данных
Создание сервиса на основе репозитория с помощью документоориентированной базы данных NoSQL
Инициализация проекта
Разработка сервиса MongoDB
Создание сервиса на основе репозитория с помощью графовой NoSQL базы данных
Инициализация проекта
Разрабатываем сервис Neo4j
Резюме
Глава 7. Создание приложений с помощью Spring MVC
Что такое Spring MVC
Взаимодействия конечного пользователя с помощью шаблонизаторов
Инициализация проекта
Разработка приложения Aircraft Positions
Передача сообщений
Подключаем PlaneFinder
Расширяем приложение Aircraft Positions
Формирование диалогов с помощью WebSocket
Что такое WebSocket
Рефакторинг приложения Aircraft Positions
Резюме
Глава 8. Реактивное программирование: Project Reactor и Spring WebFlux
Введение в реактивное программирование
Манифест реактивных систем
Project Reactor
Tomcat и Netty
Реактивный доступ к данным
R2DBC и база данных H2
Реактивный Thymeleaf
RSocket и полностью реактивное взаимодействие между процессами
Что такое RSocket?
Применяем RSocket на практике
Резюме
Глава 9. Тестирование приложений Spring Boot для повышения их готовности к производственной эксплуатации
Модульное тестирование
Знакомимся с аннотацией @SpringBootTest
Важнейшие модульные тесты для приложения Aircraft Positions
Рефакторинг кода для лучшего тестирования
Тестовые срезы
Резюме
Глава 10. Безопасность приложений Spring Boot
Аутентификация и авторизация
Аутентификация
Авторизация
Коротко о Spring Security
HTTP-брандмауэр
Цепочки фильтров безопасности
Заголовки запросов и ответов
Реализация аутентификации и авторизации на основе форм с помощью Spring Security
Добавление зависимостей Spring Security
Добавляем аутентификацию
Авторизация
Реализация OpenID Connect и OAuth2 для аутентификации и авторизации
Клиентское приложение Aircraft Positions
Сервер ресурсов PlaneFinder
Резюме
Глава 11. Развертывание приложений Spring Boot
Возвращаемся к исполняемым JAR-файлам Spring Boot
Сборка «полностью исполняемого» JAR-файла Spring Boot
Что это нам дает
Разобранные JAR-файлы
Развертывание приложений Spring Boot в контейнерах
Создание образа контейнера из IDE
Создание образа контейнера из командной строки
Проверяем наличие образа
Запуск контейнеризованного приложения
Утилиты для исследования образов контейнеров приложений Spring Boot
Pack
Dive
Резюме
Глава 12. Углубляемся в реактивное программирование
Когда следует использовать реактивное программирование
Тестирование реактивных приложений
Но сначала — рефакторинг
А теперь — тестирование
Диагностика и отладка реактивных приложений
Hooks.onOperatorDebug()
Контрольные точки
ReactorDebugAgent.init()
Резюме
Об авторе
Об иллюстрации на обложке