Курс: Spring Advanced

Курс: Spring Advanced

Курс: Spring Advanced


Продолжительность курса: 40 ак. ч.

Описание курса:
Курс посвящен темам, необходимым для профессионального применения Spring Framework на практике, таким как расширенные вопросы применения Spring REST, технологии HATEOAS и CORS, документирование REST-сервисов, сериализация и ограничение данных, передаваемых клиенту, тонкости применения аннотации @Transactional, применение оптимистических транзакций, JWT-авторизация и сервер авторизации OAuth2, практическое применение реактивного программирования с использованием WebFlux, тестирование Spring-сервисов, планировщик задач и Actuator, развертывание в Docker.

Аудитория:
Разработчики Java, архитекторы Java.

Необходимая подготовка:
Уверенное владение Java, знание Spring.

Программа курса:
Модуль 1. Spring Data REST - расширенные темы
• Spring REST
- Введение. Обзор Spring REST
- Условные операции с применением заголовков (ETag, If-Match, If-None-Match, If-modified-since)
- REST события
- Модель зрелости REST-сервисов
- Spring HATEOAS
• API RestTemplate и WebClient для написания клиентов REST-сервисов
• Документирование REST-сервисов с использованием Swagger и SpringFox

Модуль 2. Object mapping и валидация
• Ограничение данных, передаваемых клиенту: @JsonIgnore, nullifying fields, DTO
• Проекции и ограничения в Spring Data REST
• Использование MapStruct для автоматического мэппинга в DTO
• Пользовательские сериализаторы и десериализаторы
• Валидация данных модели с помощью аннотаций javax.validation и кастомных аннотаций

Модуль 3. Транзакции
• Анотация @Transactional
• Уровни изоляции транзакций
• Распространение транзакций
• Обработка исключений в транзакциях
• Проблема вызова транзакции из того же бина
• Оптимистические блокировки
• Подключение нескольких БД к проекту
• Распределенные транзакции и паттерн SAGA

Модуль 4. Безопасность для REST-сервисов (JWT авторизация и управление ролями)
• Подходы к использованию безопасности в Spring
• Разработка сервера UAA с использованием OAuth2
• JWT токены
• Использование Spring Security для доступа на основе ролей, демонстрация примеров

Модуль 5. Реактивное программирование на Spring WebFlux
• Обзор реактивного подхода
• Спецификация реактивных потоков в Java 9
• Классы Mono и Flux
• Операторы
• Реактивные драйверы БД R2DBC
• Реактивный Spring Data
• Построение REST API с использованием WebFlux
• WebClient для получения реактивных данных
• Протокол RSocket
• Реактивный доступ к RabbitMQ
• Реактивные паттерны и бенчмарки

Модуль 6. Тестирование сервисов Spring
• Юнит-тесты с применением Mockito
• Интеграционное тестирование
• Аннотации тестирования Spring
• Фреймворк TestContext
• Серверные тесты REST
• Тестирование REST сервисов в IntelliJ IDEA
• Тестирование WebFlux

Модуль 7. Spring Планировщики
• Аннотация @Scheduled
• fixedRate, fixedDelay, initialDelay
• использование выражений CRON

Модуль 8. Spring кэширование
• Использование кеширования
• Использование и параметры настройки EhCache
• @Cacheable
• @CacheEvict, @CachePut
• @CacheConfig
• Conditional кэширование
• Java-based кэширование
• Кэширование в Spring Data
• Кэширование в Spring на основе EhCache
• Конфигурирование EhCache

Модуль 9. Spring Boot Actuator
• Actuator endpoints
• Метрики в Spring Boot
• Мониторинг и управление через HTTP
• Инструмент мониторинга Spring Boot Admin

Модуль 10. Развертывание приложения Spring
• Развертывание в Docker
• Развертывание в nginx as a front serverв качестве фронт-сервера (включая балансировку нагрузки)
• HTTP кэширование при помощи NGINX
• Развертывание приложения Spring с помощью nginx - контейнерная установка, docker-compose

Окончательная цена указывается в договоре на обучение. Записаться на курс

Характеристики курса

  • Начало: Ведется набор
  • Вендор: Java
  • Код курса: JV-47
  • Город: Екатеринбург, Пермь, Москва,
  • Направление: Курсы для IT-специалистов
  • Академических часов: 40
  • Количество мест: 8
  • Очно: 123900 ₽
  • Дистанционно: 123900 ₽
Записаться на курс

Курсы повышения квалификации
и профессиональной переподготовки


График работы:
Мы отвечаем на звонки и письма в будние дни с 7:00 до 16:00 по Мск

8 800 (600)-66-16

Владелец сайта:
АНО ДПО «Учебный центр «ШИФТ»
ИНН 5904355180
ОГРН 1175958039586
Юридический адрес: 614010, г. Пермь, ул. Клары Цеткин, д. 14, офис 32.
E-mail: info@eshift.ru