О чём курс

Вам нужен инструмент для масштабирования высоконагруженных Java-приложений — здесь разбирают, как перейти от базовых REST-сервисов к реактивному стеку Spring WebFlux. Вы научитесь управлять сложными транзакциями, внедрять JWT-авторизацию и настраивать реактивную работу с базами данных через R2DBC. Внутри разбираются подходы к кэшированию через EhCache, мониторинг систем с помощью Actuator и контейнеризация приложений через Docker и Nginx. Курс ориентирован на разработчиков, которые хотят автоматизировать маппинг данных через MapStruct, внедрить стандарты HATEOAS и освоить протокол RSocket. В результате вы научитесь проектировать отказоустойчивые сервисы с профессиональным тестированием и развертыванием в продакшн-контуре.

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

    1. Spring Data REST – расширенные темы
    • Spring Data REST
    • Условные операции с применением заголовков (ETag, If-Match, If-None-Match, If-modified-since)
    • REST-события
    • Модель зрелости REST-сервисов
    • Spring HATEOAS
    • API RestTemplate и WebClient для написания клиентов REST-сервисов
    • Документирование REST-сервисов с использованием Swagger и SpringFox
    • Домашняя работа
    1. Object Mapping и валидация
    • Ограничение данных, передаваемых клиенту: @JsonIgnore, nullifying fields, DTO
    • Проекции и ограничения в Spring Data REST
    • Использование MapStruct для автоматического мэппинга в DTO
    • Пользовательские сериализаторы и десериализаторы
    • Валидация данных модели с помощью аннотаций javax.validation и кастомных аннотаций
    • Домашняя работа
    1. Транзакции
    • Анотация @Transactional
    • Распространение транзакций
    • Уровни изоляции транзакций
    • Обработка исключений в транзакциях
    1. Безопасность для REST-сервисов (JWT авторизация и управление ролями)
    • Подходы к использованию безопасности в Spring
    • Разработка сервера UAA с использованием OAuth2
    • JWT токены – 1 ч
    • Использование Spring Security для доступа на основе ролей
    • Домашняя работа
    1. Реактивное программирование на Spring WebFlux
    • Обзор реактивного подхода
    • Классы Mono и Flux
    • Операторы
    • Реактивные драйверы БД R2DBC
    • Реактивный Spring Data
    • Построение REST API с использованием WebFlux
    • WebClient для получения реактивных данных
    • Протокол RSocket
    • Реактивный доступ к RabbitMQ
    • Реактивные паттерны и бенчмарки
    • Домашняя работа
    1. Тестирование сервисов Spring
    • Юнит-тесты с применением Mockito
    • Интеграционное тестирование
    • Аннотации тестирования Spring
    • Фреймворк TestContext
    • Серверные тесты REST
    • Тестирование REST сервисов в IntelliJ IDEA
    • Тестирование WebFlux
    • Домашняя работа
    1. Spring планировщики
    • Аннотация @Scheduled
    • fixedRate, fixedDelay, initialDelay
    • Использование выражений CRON
    • Домашняя работа
    1. Spring кэширование
    • Использование кэширования
    • @Cacheable
    • @CacheEvict, @CachePut
    • @CacheConfig
    • Conditional кэширование
    • Java-based кэширование
    • Кэширование в Spring на основе EhCache
    • Конфигурирование EhCache
    • Домашняя работа
    1. Spring Boot Actuator
    • Actuator endpoints
    • Метрики в Spring Boot
    • Мониторинг и управление через HTTP
    • Инструмент мониторинга Spring Boot Admin
    1. Развертывание приложения Spring
    • Развертывание в Docker
    • Развертывание в nginx as a front server в качестве фронт-сервера (включая балансировку нагрузки)
    • Развертывание приложения Spring с помощью nginx - контейнерная установка, docker-compose
    • Домашняя работа
Складчина создана 17 октября 2021 г. · описание обновлено 3 мая 2026 г.

Другие материалы автора 1

ВС Владимир Сонькин Все материалы
10 593 ₽ 54 000 ₽