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
Тренер в Онлайн
Дворжецкий Юрий Эксперт в области Java, Java Script, .Net.
Юрий работает в Luxoft с 2011 г..

Разрабатывал высоконагруженные проекты на различных платформах, а также огромные бизнес-порталы с использованием высокоуровневых технологий на платформе от Back-end до Front-end. В отдельных проектах выступал в роли консультанта по настройке и запуску DevOps процессов Continuous Integration и Continuous Delivery процессов. 

С 2005 г. занимается преподавательской деятельностью: 2008–2011 гг. – преподавал курсы по основам программирования в Четверговой математической школе; в 2011–2012 гг. – курсы по программированию в Омском государственном университете им. Ф.М. Достоевского.

Начиная с 2013 г. ведет Java-школу для сотрудников Luxoft и курсы по Java-, .Net-, C++-, JS-технологиям для внешних клиентов Luxoft Training.

Закончил Институт математики и информационных технологий Омского государственного университета. Защитил диссертацию на соискание степени кандидата физико-математических наук.

Имеет только три жизненных принципа: наследование, инкапсуляция и полиформизм.
Влюблен в Java Script, женат на Java.

Проекты:
  • проекты для SITA, DHL, ГЛОНАСС, «Почта России»
  • бизнес-порталы с использованием высокоуровневых технологий на платформе от Back-end до Front-end


Первушов Артем Эксперт в области разработки ПО
Артём с 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-поддержки систем всероссийского мониторинга школьников, разработка систем сбора и анализа данных.

Проекты:

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

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

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

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

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

Данный курс запланирован в городах: Онлайн
17.05.2021 - 25.05.2021
Время: 15:00-19:30
Локация: Онлайн
Длительность: 30 ч.
Тренер
Дворжецкий Юрий
Эксперт в области Java, Java Script, .Net.
45 000 руб.
15 120 грн.
В корзину

17.05.2021 - 25.05.2021

21.06.2021 - 28.06.2021
Время: 10:00-16:00
Локация: Онлайн
Длительность: 36 ч.
Тренер
Первушов Артем
Эксперт в области разработки ПО
45 000 руб.
15 120 грн.
В корзину

21.06.2021 - 28.06.2021

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

30.08.2021 - 09.09.2021

17.05.2021 - 25.05.2021
Время: 15:00-19:30
Локация: Онлайн
Длительность: 30 ч.
Тренер
Дворжецкий Юрий
Эксперт в области Java, Java Script, .Net.
45 000 руб.
15 120 грн.
В корзину
21.06.2021 - 28.06.2021
Время: 10:00-16:00
Локация: Онлайн
Длительность: 36 ч.
Тренер
Первушов Артем
Эксперт в области разработки ПО
45 000 руб.
15 120 грн.
В корзину
30.08.2021 - 09.09.2021
Время: 10:00-14:00
Локация: Онлайн
Длительность: 36 ч.
Тренер
Сонькин Владимир
Эксперт в области разработки ПО: Java и Web-технологии
45 000 руб.
15 120 грн.
В корзину
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Онлайн 54 000 руб.
15 120 грн.
Связанные курсы:
Онлайн:
21.06.2021-25.06.2021
Онлайн:
16.08.2021-20.08.2021
Связанные курсы:
Связанные курсы:

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

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

Имя *

Отчество

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

Компания *

Телефон *

Город *

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