О чём курс

Вам нужно выйти за рамки базового Spring и научиться проектировать отказоустойчивые, безопасные и высокопроизводительные микросервисы. Этот материал закрывает разрыв между учебными примерами и реальной энтерпрайз-разработкой.

Внутри разбираются критические для работы архитектурные подходы: от тонкостей транзакционности (@Transactional, SAGA, оптимистические блокировки) до настройки OAuth2/JWT безопасности и построения реактивных систем на WebFlux. Вы научитесь правильно документировать API через Swagger, автоматизировать мэппинг данных с MapStruct и интегрировать несколько баз данных в одно приложение. Финальный фокус — на тестировании (от Mockito до интеграционных тестов WebFlux) и контейнеризации готовых сервисов в Docker.

Программа обучения

    1. Spring Data REST - расширенные темы
    • 1.1. Spring REST
      • Введение. Обзор Spring REST
      • Условные операции с применением заголовков (ETag, If-Match, If-None-Match, If-modified-since)
      • REST события
      • Модель зрелости REST-сервисов
      • Spring HATEOAS
    • 1.2. API RestTemplate и WebClient для написания клиентов REST-сервисов
    • 1.3. Документирование REST-сервисов с использованием Swagger и SpringFox
    1. Object mapping и валидация
    • Ограничение данных, передаваемых клиенту: @JsonIgnore, nullifying fields, DTO
    • Проекции и ограничения в Spring Data REST
    • Использование MapStruct для автоматического мэппинга в DTO
    • Пользовательские сериализаторы и десериализаторы
    • Валидация данных модели с помощью аннотаций javax.validation и кастомных аннотаций
    1. Транзакции
    • Анотация @Transactional
    • Уровни изоляции транзакций
    • Распространение транзакций
    • Обработка исключений в транзакциях
    • Проблема вызова транзакции из того же бина
    • Оптимистические блокировки
    • Подключение нескольких БД к проекту
    • Распределенные транзакции и паттерн SAGA
    1. Безопасность для REST-сервисов (JWT авторизация и управление ролями)
    • Подходы к использованию безопасности в Spring
    • Разработка сервера UAA с использованием OAuth2
    • JWT токены
    • Использование Spring Security для доступа на основе ролей, демонстрация примеров
    1. Реактивное программирование на Spring WebFlux
    • Обзор реактивного подхода
    • Спецификация реактивных потоков в Java 9
    • Классы Mono и Flux
    • Операторы
    • Реактивные драйверы БД R2DBC
    • Реактивный Spring Data
    • Построение REST API с использованием WebFlux
    • WebClient для получения реактивных данных
    • Протокол RSocket
    • Реактивный доступ к RabbitMQ
    • Реактивные паттерны и бенчмарки
    1. Тестирование сервисов Spring
    • Юнит-тесты с применением Mockito
    • Интеграционное тестирование
    • Аннотации тестирования Spring
    • Фреймворк TestContext
    • Серверные тесты REST
    • Тестирование REST сервисов в IntelliJ IDEA
    • Тестирование WebFlux
    1. Spring Планировщики
Складчина создана 22 июля 2024 г. · описание обновлено 3 мая 2026 г.
4 106 ₽ 69 900 ₽