Spring Advanced
Курс посвящен темам, необходимым для профессионального применения Spring Framework на практике, таким как документирование REST-сервисов, сериализация данных, транзакции в Spring, JWT-авторизация, практическое применение WebFlux, тестирование, развертывание в Docker и многим другим.
40 ак.ч.
Онлайн
JVA-075
Spring Advanced
Записаться на курс
Длительность
40 ак.ч.
Локация
Онлайн
Код
JVA-075
Расписание и цены
16.12.2021 - 30.12.2021
19.01.2022 - 28.01.2022
11.05.2022 - 24.05.2022
54 000 руб.
16 000 грн.
Планируете обучить команду из 7-8 или более человек?
Закажите корпоративное обучение с учетом ваших потребностей
Spring Advanced
Записаться на курс
Длительность
40 ак.ч.
Локация
Онлайн
Код
JVA-075
Расписание и цены
16.12.2021 - 30.12.2021
19.01.2022 - 28.01.2022
11.05.2022 - 24.05.2022
54 000 руб.
16 000 грн.
Планируете обучить команду из 7-8 или более человек?
Закажите корпоративное обучение с учетом ваших потребностей

Описание

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

Цели

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

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

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

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

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

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

1. Spring Data REST - расширенные темы (5h)

1) Spring REST (3h)

  • Введение. Обзор Spring REST (1h)
  • Условные операции с применением заголовков (ETag, If-Match, If-None-Match, If-modified-since) (0.5h)
  • REST события (0.5h)
  • Модель зрелости REST-сервисов (0.5h)
  • Spring HATEOAS (0.5h)

2) API RestTemplate и WebClient для написания клиентов REST-сервисов (1h)

3) Документирование REST-сервисов с использованием Swagger и SpringFox (1h)

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

2. Object mapping и валидация (5h)

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

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

3. Транзакции (6h)

  • Анотация @Transactional (0.5h)
  • Уровни изоляции транзакций (1h)
  • Распространение транзакций (2h)
  • Обработка исключений в транзакциях (0.5h)
  • Проблема вызова транзакции из того же бина (0.5h)
  • Оптимистические блокировки (0.5h)
  • Подключение нескольких БД к проекту (0.5h)
  • Распределенные транзакции и паттерн SAGA (0.5h)

4. Безопасность для REST-сервисов (JWT авторизация и управление ролями) (6h)

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

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

5. Реактивное программирование на Spring WebFlux (8h)

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

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

6. Тестирование сервисов Spring (4h)

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

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

7. Spring Планировщики (0.5h)

  • Аннотация @Scheduled
  • fixedRate, fixedDelay, initialDelay
  • использование выражений CRON

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

8. Spring кэширование (2h)

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

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

9. Spring Boot Actuator (1h)

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

10. Развертывание приложения Spring (2,5h)

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

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

Раcписание курсов
Вид:
16.12.2021 - 30.12.2021
09:00-12:30
Локация:Онлайн
Длительность:36 ак.ч.
Время:09:00-12:30
54 000 руб.
16 000 грн.
Записаться
19.01.2022 - 28.01.2022
10:00-14:30
Локация:Онлайн
Длительность:36 ак.ч.
Время:10:00-14:30
54 000 руб.
16 000 грн.
Записаться
11.05.2022 - 24.05.2022
10:00-14:00
Локация:Онлайн
Длительность:40 ак.ч.
Время:10:00-14:00
54 000 руб.
16 000 грн.
Записаться
Смотреть полное расписание
Тренеры
Сонькин Владимир
Эксперт в области разработки ПО: Java и Web-технологии

Владимир имеет опыт в области разработки ПО уровня Enterprise для крупнейших зарубежных компаний с использованием технологии Java с 2000 г.

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

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

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

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

Проекты:

  • разработка системы биржевой торговли

  • разработка системы развертывания ПО на серверах банка

  • разработка логистической системы учета и транспортировки сельхозпродукции

  • разработка систем сбора и анализа данных

  • разработка систем электронной торговли

Связанные курсы
Владение каркасом разработки Spring Framework 5
Практический курс по основным возможностям Spring Framework. Шаг за шагом вы создадите полностью рабочее приложение и научитесь использовать Spring framework на практике.
Онлайн:
28.02.2022 - 05.03.2022
Владение каркасом разработки Spring Security
Курс даст слушателям представление о Spring Security Framework – библиотеке для обеспечения безопасности в проектах, разрабатываемых с использованием Spring Framework. Слушатели узнают, как использовать Spring Security для построения защищенных корпоративных JavaEE-приложений. Курс содержит подробную информацию об использовании различных средств обеспечения безопасности: аутентификации, авторизации и использовании этих средств для защиты Web-приложений.
Онлайн:
30.11.2021 - 03.12.2021
Java Advanced I: функциональное, асинхронное и реактивное программирование
Курс посвящен современным функциональным, асинхронным и реактивным подходам к разработке на Java, и включает изучение NIO2, CompletableFuture, RxJava, Reactor, R2DBC, SSE, Spring Data reactive, WebClient, reactive WebSocket, RSocket.
Онлайн:
08.12.2021 - 17.12.2021
Онлайн:
15.03.2022 - 25.03.2022
Смотреть каталог
Ваши преимущества
Экспертность
Тренеры-эксперты из реальных проектов крупнейших компаний, лидеров в своей отрасли
Живое обучение
“Живая” коммуникация с тренером даже в онлайн-формате
Практика
Максимально наполненные практикой занятия, работа в группах, выполнение домашних заданий
Для физических лиц
10%
Скидка на любой курс
5%
Бонус от стоимости курса после прохождения
5%
Бонус за рекомендацию курсов Luxoft Training
Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Luxoft Training – первый учебный центр в России, авторизованный IIBA. Действует скидка 10% на обучение физических лиц.
Остались вопросы?
Связаться с нами
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.