Spring Advanced

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

Описание

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

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

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

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

3. Транзакции
  • Анотация @Transactional
  • Распространение транзакций
  • Уровни изоляции транзакций
  • Обработка исключений в транзакциях

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

5. Реактивное программирование на Spring WebFlux
  • Обзор реактивного подхода
  • Классы 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 кэширование
  • Использование кэширования
  • @Cacheable
  • @CacheEvict, @CachePut
  • @CacheConfig
  • Conditional кэширование
  • Java-based кэширование
  • Кэширование в Spring на основе EhCache
  • Конфигурирование EhCache
  • Домашняя работа

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

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

Цели

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

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

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

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

Уверенное владение Java, знание Spring.
После окончания курса выдаётся сертификат на бланке Luxoft Training
Тренер в Онлайн
Первушов Артем Эксперт в области разработки ПО
Артём с 2013 г. преподаёт различные дисциплины по разработке программного обеспечения для крупных российский компаний в финансовом и других секторах. За это время он был задействован в нескольких образовательных проектах, в том числе принимал участие в проекте по обучению более чем 200 специалистов по направлению «JavaEE разработчик» на базе программы профессиональной переподготовки АНО «Университет Иннополис».

В Московском государственном техническом университете им. Н.Э. Баумана преподавал курс «Системный анализ и архитектура приложений».

Артём является сертифицированным разработчиком от Android Training Consultant.

Проекты:

  • сопровождал проект по разработке системы юридически значимого документооборота для крупной отечественной логистической компании

  • участвовал в проекте по переходу на автоматизированный формат обмена НСИ

  • принимал участие в реализации проекта специализированного трекера задач для крупного data-центра в США

  • занимался управлением и реализацией проекта «Система мониторинга спортивных ставок»

  • глобальная интернет-система документооборота, дилерский центр для крупного банка

  • разработка высоконагруженной системы и мобильного приложения для электронной торговли для сайта по продаже одежды

  • глобальная система географических карт на основе данных аэрофотосъемки 


Сонькин Владимир Эксперт в области разработки ПО: Java и Web-технологии

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

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

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

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

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

Проекты:

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

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

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

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

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

Раcписание курса в Цены
Данный курс запланирован в городах: Онлайн
21.06.2021 - 25.06.2021
Время: 10:00-16:00
Локация: Онлайн
Длительность: 30 ч.
Тренер
Первушов Артем
Эксперт в области разработки ПО
54 000 руб.
16 000 грн.

21.06.2021

30.08.2021 - 09.09.2021
Время: 10:00-14:00
Локация: Онлайн
Длительность: 36 ч.
Тренер
Сонькин Владимир
Эксперт в области разработки ПО: Java и Web-технологии
54 000 руб.
16 000 грн.

30.08.2021 - 09.09.2021

21.06.2021 - 25.06.2021
Время: 10:00-16:00
Локация: Онлайн
Длительность: 30 ч.
Тренер
Первушов Артем
Эксперт в области разработки ПО
54 000 руб.
16 000 грн.
30.08.2021 - 09.09.2021
Время: 10:00-14:00
Локация: Онлайн
Длительность: 36 ч.
Тренер
Сонькин Владимир
Эксперт в области разработки ПО: Java и Web-технологии
54 000 руб.
16 000 грн.
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Онлайн 54 000 руб.
16 000 грн.
Связанные курсы:
Онлайн:
21.06.2021-25.06.2021
Онлайн:
07.07.2021-19.07.2021
Онлайн:
16.08.2021-20.08.2021
Онлайн:
27.09.2021-01.10.2021
Онлайн:
06.09.2021-09.09.2021
Онлайн:
30.11.2021-03.12.2021

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

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

Имя *

Отчество

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

Компания *

Телефон *

Город *

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