Spring Advanced

Курс посвящен темам, необходимым для профессионального применения Spring Framework на практике, таким как документирование REST-сервисов, сериализация данных, транзакции в Spring, JWT-авторизация, практическое применение WebFlux, тестирование, развертывание в Docker и Kubernetes и многим другим.
Курс: JVA-075 new
Длительность: 30 ч.

Описание

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

Разбираемые темы

1. Spring Data REST – расширенные темы (3 часа).
  1. Spring Data REST (2 часа)
    • Обзор примера REST
    • Условные операции с применением заголовков (ETag, If-Match, If-None-Match, If-modified-since)
    • REST-события
    • Spring HATEOAS
    • Конфигурирование CORS
  2. Документирование REST-сервисов с использованием Swagger и SpringFox (1 час)

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

3. Транзакции (3 часа).
  • Анотация @Transactional: propagation, уровни изоляции, обработка исключений
  • Оптимистические транзакции (контроль версий)

4. Безопасность для REST-сервисов (JWT Authorization and Roles Management) (3 часа).
  • Разработка сервера UAA с использованием OAuth2
  • JWT-токены
  • Использование Spring Security для доступа на основе ролей

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

6. Тестирование сервисов Spring (6 часов).
  • Юнит-тесты с применением Mockito
  • Интеграционное тестирование
  • Аннотации тестирования Spring
  • Фреймворк TestContext
  • Серверные и клиентские тесты REST
  • Тестирование WebFlux

7. Spring планировщики (1 час).
  • Аннотация @Scheduled
  • fixedRate, fixedDelay, initialDelay
  • Использование выражений CRON

8. Spring кэширование (1 час).
  • Использование кэширования
  • @Cacheable
  • @CacheEvict, @CachePut
  • @CacheConfig
  • Conditional кэширование
  • Java-based кэширование

9. Spring Boot Actuator (1 час).
  • Actuator endpoints
  • Метрики в Spring Boot
  • Мониторинг и управление через HTTP

10. Развертывание приложения Spring (3 часа).
  • Развертывание в Docker
  • Развертывание в nginx as a front server в качестве фронт-сервера (включая балансировку нагрузки)
  • Развертывание приложения Spring с помощью nginx - контейнерная установка
  • Развертывание образа Docker в кластере Kubernetes

Цели

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

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

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

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

Уверенное владение Java, знание Spring.
После окончания курса выдаётся сертификат на бланке Luxoft Training
Тренер в Онлайн
Сонькин Владимир Эксперт в области разработки ПО: Java и Web-технологии
Владимир имеет опыт в области разработки ПО уровня Enterprise для крупнейших зарубежных компаний с использованием технологии Java с 2000 г.

В компании Luxoft Владимир работает с 2006 г. За это время поучаствовал в нескольких проектах для крупной американской сельскохозяйственной компании и крупнейшего швейцарского банка. Интересуется технологиями создания масштабируемых, эргономичных web-интерфейсов, а также технологиями повышения производительности труда разработчиков.

Специализируется на использовании JavaScript и Java для создания мощных и современных web-приложений, создании современных эргономичных web-интерфейсов с низким временем отклика.

Профессиональный опыт

2006–2012 – Luxoft, ведущий разработчик, участие в проектах для крупного банка (разработка системы биржевой торговли; разработка системы развертывания ПО на серверах банка); участие в проекте для американской агропромышленной компании (разработка логистической системы учета и транспортировки сельхозпродукции).
2005–2006 – ITCI, ведущий разработчик, разработка системы управления процессом разработки ПО.
2002–2004 – Институт возрастной физиологии РАО, руководитель проекта IT-поддержки систем всероссийского мониторинга школьников, разработка систем сбора и анализа данных.

Образование

1995–2000 – МГУ им. М.Ю. Ломоносова, факультет вычислительной математики и кибернетики, специальность "Прикладная математика".
Данный курс запланирован в городах: Онлайн
09.11.2020 - 17.11.2020
Время: 10:00-14:00
Локация: Онлайн
Длительность: 30 ч.
Тренер
Сонькин Владимир
Эксперт в области разработки ПО: Java и Web-технологии
34 400 руб.
9 100 грн.
В корзину

09.11.2020

09.11.2020 - 17.11.2020
Время: 10:00-14:00
Локация: Онлайн
Длительность: 30 ч.
Тренер
Сонькин Владимир
Эксперт в области разработки ПО: Java и Web-технологии
34 400 руб.
9 100 грн.
В корзину
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Онлайн 34 400 руб.
9 100 грн.
Связанные курсы:

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

Выбрать дату
Если Вам не подходят дата и место проведения тренинга, Вы можете оставить заявку на участие в нем в любом из городов, где представлены филиалы Luxoft Training. Для этого выберите вариант "Открытая дата" и укажите желаемое место проведения курса.
Желаемое место проведения курса
Вы можете оставить заявку на корпоративное обучение сотрудников Вашей компании в любом городе России или Украины, выбрав вариант "Другой город"
Фамилия *

Имя *

Отчество

Контактный E-mail *

Компания *

Телефон *

Город *

Комментарий
Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, управлению проектами, тестированию ПО, архитектуре ПО. Luxoft Training – единственный учебный центр в России, авторизованный IIBA. Действует скидка 10% на обучение физических лиц.
   Подпишись на ежемесячный DigestLT
Успешная форма подписки.
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.