О чём курс

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

Цели

Познакомить слушателей с расширенными темами применения Spring Framework, предоставить примеры применения.

Целевая аудитория

Разработчики Java, архитекторы Java.

Предварительная подготовка

Уверенное владение Java, знание Spring.

Для кого

Разработчик Разработчик

Улучшаемые навыки

Глубокое понимание Spring Framework
Использование Spring AOP
Конфигурация Spring с использованием Java-кода и аннотаций
Интеграция с Spring Data и JPA
Тестирование Spring-приложений

Темы курса

01 Spring Data REST - расширенные темы (5 ч)
  • 1.1. Spring REST (3 ч)
  • - Введение. Обзор Spring REST (1 ч)
  • - Условные операции с применением заголовков (ETag, If-Match, If-None-Match, If-modified-since) (30 мин)
  • - REST события (30 мин)
  • - Модель зрелости REST-сервисов (30 мин)
  • - Spring HATEOAS (30 мин)
  • 1.2. API RestTemplate и WebClient для написания клиентов REST-сервисов (1 ч)
  • 1.3. Документирование REST-сервисов с использованием Swagger и SpringFox (1 ч)
Домашняя работа: ~2 ч
02 Object mapping и валидация (5 ч)
  • Ограничение данных, передаваемых клиенту: @JsonIgnore, nullifying fields, DTO (1 ч)
  • Проекции и ограничения в Spring Data REST (1 ч)
  • Использование MapStruct для автоматического мэппинга в DTO (1 ч)
  • Пользовательские сериализаторы и десериализаторы (1 ч)
  • Валидация данных модели с помощью аннотаций javax.validation и кастомных аннотаций (1 ч)

Домашняя работа: ~2 ч

03 Транзакции (6 ч)
  • Анотация @Transactional (30 мин)
  • Уровни изоляции транзакций (1 ч)
  • Распространение транзакций (2 ч)
  • Обработка исключений в транзакциях (30 мин)
  • Проблема вызова транзакции из того же бина (30 мин)
  • Оптимистические блокировки (30 мин)
  • Подключение нескольких БД к проекту (30 мин)
  • Распределенные транзакции и паттерн SAGA (30 мин)
04 Безопасность для REST-сервисов (JWT авторизация и управление ролями) (6 ч)
  • Подходы к использованию безопасности в Spring (1 ч)
  • Разработка сервера UAA с использованием OAuth2 (1 ч)
  • JWT токены (2 ч)
  • Использование Spring Security для доступа на основе ролей, демонстрация примеров (2 ч)

Домашняя работа: ~2 ч

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

Домашняя работа: ~2 ч

06 Тестирование сервисов Spring (4 ч)
  • Юнит-тесты с применением Mockito (30 мин)
  • Интеграционное тестирование (1 ч)
  • Аннотации тестирования Spring (30 мин)
  • Фреймворк TestContext (30 мин)
  • Серверные тесты REST (30 мин)
  • Тестирование REST сервисов в IntelliJ IDEA (30 мин)
  • Тестирование WebFlux (30 мин)

Домашняя работа: ~2 ч

07 Spring Планировщики (30 мин)
  • Аннотация @Scheduled
  • fixedRate, fixedDelay, initialDelay
  • использование выражений CRON

Домашняя работа: ~30 мин

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

Домашняя работа: ~1 ч

09 Spring Boot Actuator (1 ч)
  • Actuator endpoints
  • Метрики в Spring Boot
  • Мониторинг и управление через HTTP
  • Инструмент мониторинга Spring Boot Admin
10 Развертывание приложения Spring (2,5 ч)
  • Развертывание в Docker (30 мин)
  • Развертывание в nginx as a front serverв качестве фронт-сервера (включая балансировку нагрузки) (30 мин)
  • HTTP кэширование при помощи NGINX (30 мин)
  • Развертывание приложения Spring с помощью nginx - контейнерная установка, docker-compose (30 мин)

Домашняя работа: ~30 мин

69 900 ₽

62 910 ₽ — для физ. лиц

Записаться на курс

Чему вы научитесь

01 Научитесь углубленным концепциям Spring
02 Освоите методы реализации аспектно-ориентированного программирования с использованием Spring AOP
03 Научитесь настраивать Spring-приложения с использованием Java-конфигурации и аннотаций
04 Освоите методы работы с Spring Data и JPA для управления персистентностью данных
05 Научитесь применять методы тестирования Spring-приложений с использованием JUnit и Mockito

Ведущий курса

Тимур

Мухитдинов Тимур

Специалист в области разработки ПО

69 900 ₽

62 910 ₽ — для физ. лиц

Записаться на курс

Записаться на курс

69 900 ₽

62 910 ₽ — для физ. лиц

Юр. лицо — 69 900 ₽
Физ. лицо — 62 910 ₽
22.01.2025, Онлайн
22.01.2025, Онлайн
Открытая дата
Продолжая, я подтверждаю, что ознакомлен с Условиями использования и Порядком обработки персональных данных

Отзывы о курсе

Повысьте квалификацию И получите диплом
Отзывы учеников
Очень понравилась открытость тренера, его примеры и объяснения что и как нужно делать, а главное – советы и ответы на вопросы. В общем, Владимир очень хороший педагог, спасибо ему! Порадовало большое количество полезных тем по актуальным технологиям, практические примеры удобно разбиты на маленькие проекты, тренер отвечает на вопросы.
Я доволен этим курсом. Мне были полезны все темы, особенно HATEOAS, Lombok и WebFlux. Впечатление в целом очень хорошее, качественно скомпонованная теория, много примеров, практические задания и хорошая обратная связь. Такое будет полезно даже для тех, кто, как и я знал часть информации, но хотел систематизировать ее и углубиться в тему.
Отличный курс, хорошие учебные материалы. Очень много нового для меня в этом тренинге, самым полезным я считаю модуль Spring Data Rest. Понравилось, что нам объясняли все, что связано с основами Spring, понравились практические упражнения и терпеливость тренера (особенно тот факт, что он ответил на любые вопросы не по теме, но связанные с базовыми знаниями технологии). Благодаря этому тренингу я нашел и восполнил пробелы в своих знаниях.
Понравились: широта охвата материала (мб индивидуально, но курс удовлетворил мои ожидания); компетентность тренера, стиль подачи материала, организованность, заинтересованность тренера качественно передать знания; практические примеры. Очень хорошо преподнесен материал, сразу расширяется кругозор и становится понятно, что можно внедрять в рабочий процесс незамедлительно. Спасибо тренеру Сонькину Владимиру.
Для меня был очень полезен весь курс, что-то знала, чем-то пользовалась, а курс всё структурировал. Понравились практические примеры и интересные задания. Тренер помимо учебных материалов делился кейсами из личного опыта. На примерах показывал и объяснял возможные проблемы, с которыми можно столкнуться, как их решать. Была возможность «включиться» в работу и с тренером разбирать кейсы.

Связанные курсы

JVA-010
30 часов

Владение каркасом разработки Spring Framework 5

Практический курс по основным возможностям Spring Framework. Шаг за шагом вы создадите полностью рабочее приложение и научитесь использовать Spring framework на практике.

от Middle

46 900 ₽

JVA-013
20 часов

Spring Security

Spring Security – это самый популярный фреймворк для аутентификации пользователей и ограничения доступа в Enterprise приложении. В данном курсе рассматриваются механизмы аутентификации и авторизации (и их практическое применение).

от Senior

27 500 ₽

JVA-043
24 часа

Spring Cloud для Java-разработчиков

Spring Cloud – это проект, который позволяет создавать распределенные приложения с микросервисной архитектурой. Вы познакомитесь с множеством доступных компонентов, детально рассмотрите архитектуру и широкие возможности Spring Cloud.

от Senior

37 500 ₽

JVA-074
36 часов

Java Advanced I: функциональное, асинхронное и реактивное программирование

Курс посвящен современным функциональным, асинхронным и реактивным подходам к разработке на Java, и включает изучение NIO2, CompletableFuture, RxJava, Reactor, R2DBC, SSE, Spring Data reactive, WebClient, reactive WebSocket, RSocket.

от Senior

63 900 ₽

Наши ученики работают в:

Наши клиенты

Mail.ru
Альфа-Банк, банковская группа
Лаборатория Касперского
Магнит, розничная сеть
Спортмастер, сеть спортивных магазинов
ПСБ
Сбертех
Дзен
IT One
Ростелеком
Мегафон
Nexign
Ozon
Декатлон
X5 Group
Технониколь
Росатом
Газпром
Нлмк
ВСК
Синимекс

Не нашли, что искали? — Просто напишите, и мы поможем

Продолжая, я подтверждаю, что ознакомлен с Условиями использования и Порядком обработки персональных данных
Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.