- Регистрация
- 1 Дек 2015
- Сообщения
- 145.783
- Реакции
- 777.031
Складчина: Spring Advanced [IBS] [Мухитдинов Тимур]
Курс посвящен профессиональному применению Spring Framework на практике. Обсуждаются следующие темы: расширенное использование Spring REST, HATEOAS и CORS, документирование REST-сервисов, сериализация данных, аннотация @Transactional, оптимистические транзакции, JWT-авторизация, OAuth2, реактивное программирование с использованием WebFlux, тестирование Spring-сервисов, планировщик задач, Actuator, развертывание в Docker.
1. Spring Data REST - расширенные темы (5 ч)
- Spring REST
- Введение. Обзор Spring REST
- Условные операции с заголовками (ETag, If-Match, If-None-Match, If-modified-since)
- REST события
- Модель зрелости REST-сервисов
- Spring HATEOAS
- Использование API RestTemplate и WebClient для написания клиентов REST-сервисов
- Документирование REST-сервисов с использованием Swagger и SpringFox
2. Object mapping и валидация (5 ч)
- Ограничение данных, передаваемых клиенту: @JsonIgnore, nullifying fields, DTO
- Проекции и ограничения в Spring Data REST
- Использование MapStruct для автоматического мэппинга в DTO
- Пользовательские сериализаторы и десериализаторы
- Валидация данных модели с помощью аннотаций javax.validation и кастомных аннотаций
3. Транзакции (6 ч)
- Аннотация @Transactional
- Уровни изоляции транзакций
- Распространение транзакций
- Обработка исключений в транзакциях
- Оптимистические блокировки
- Подключение нескольких БД к проекту
- Распределенные транзакции и паттерн SAGA
4. Безопасность для REST-сервисов (JWT авторизация и управление ролями) (6 ч)
- Подходы к безопасности в Spring
- Разработка сервера UAA с использованием OAuth2
- JWT токены
- Использование Spring Security для доступа на основе ролей
5. Реактивное программирование на Spring WebFlux (8 ч)
- Обзор реактивного подхода
- Спецификация реактивных потоков в Java 9
- Классы Mono и Flux
- Операторы
- Реактивные драйверы БД R2DBC
- Реактивный Spring Data
- Построение REST API с использованием WebFlux
- WebClient для получения реактивных данных
- Протокол RSocket
- Реактивный доступ к RabbitMQ
- Реактивные паттерны и бенчмарки
6. Тестирование сервисов Spring (4 ч)
- Юнит-тесты с использованием Mockito
- Интеграционное тестирование
- Аннотации тестирования Spring
- Фреймворк TestContext
- Серверные тесты REST
- Тестирование REST сервисов в IntelliJ IDEA
- Тестирование WebFlux
7. Spring Планировщики (30 мин)
- Аннотация @Scheduled
- fixedRate, fixedDelay, initialDelay
- Использование выражений CRON
8. Spring кэширование (2 ч)
- Использование кеширования
- Использование и параметры настройки EhCache
- @Cacheable, @CacheEvict, @CachePut, @CacheConfig
- Conditional кэширование
- Java-based кэширование
- Кэширование в Spring Data
- Кэширование в Spring на основе EhCache
- Конфигурирование EhCache
9. Spring Boot Actuator (1 ч)
- Actuator endpoints
- Метрики в Spring Boot
- Мониторинг и управление через HTTP
- Инструмент мониторинга Spring Boot Admin
10. Развертывание приложения Spring (2,5 ч)
- Развертывание в Docker
- Развертывание в nginx в качестве фронт-сервера (включая балансировку нагрузки)
- HTTP кэширование с использованием NGINX
- Развертывание приложения Spring с помощью nginx - контейнерная установка, docker-compose
Курс посвящен профессиональному применению Spring Framework на практике. Обсуждаются следующие темы: расширенное использование Spring REST, HATEOAS и CORS, документирование REST-сервисов, сериализация данных, аннотация @Transactional, оптимистические транзакции, JWT-авторизация, OAuth2, реактивное программирование с использованием WebFlux, тестирование Spring-сервисов, планировщик задач, Actuator, развертывание в Docker.
Цели:
Ознакомить слушателей с продвинутыми аспектами Spring Framework и предоставить практические примеры.Разбираемые темы:
1. Spring Data REST - расширенные темы (5 ч)
- Spring REST
- Введение. Обзор Spring REST
- Условные операции с заголовками (ETag, If-Match, If-None-Match, If-modified-since)
- REST события
- Модель зрелости REST-сервисов
- Spring HATEOAS
- Использование API RestTemplate и WebClient для написания клиентов REST-сервисов
- Документирование REST-сервисов с использованием Swagger и SpringFox
2. Object mapping и валидация (5 ч)
- Ограничение данных, передаваемых клиенту: @JsonIgnore, nullifying fields, DTO
- Проекции и ограничения в Spring Data REST
- Использование MapStruct для автоматического мэппинга в DTO
- Пользовательские сериализаторы и десериализаторы
- Валидация данных модели с помощью аннотаций javax.validation и кастомных аннотаций
3. Транзакции (6 ч)
- Аннотация @Transactional
- Уровни изоляции транзакций
- Распространение транзакций
- Обработка исключений в транзакциях
- Оптимистические блокировки
- Подключение нескольких БД к проекту
- Распределенные транзакции и паттерн SAGA
4. Безопасность для REST-сервисов (JWT авторизация и управление ролями) (6 ч)
- Подходы к безопасности в Spring
- Разработка сервера UAA с использованием OAuth2
- JWT токены
- Использование Spring Security для доступа на основе ролей
5. Реактивное программирование на Spring WebFlux (8 ч)
- Обзор реактивного подхода
- Спецификация реактивных потоков в Java 9
- Классы Mono и Flux
- Операторы
- Реактивные драйверы БД R2DBC
- Реактивный Spring Data
- Построение REST API с использованием WebFlux
- WebClient для получения реактивных данных
- Протокол RSocket
- Реактивный доступ к RabbitMQ
- Реактивные паттерны и бенчмарки
6. Тестирование сервисов Spring (4 ч)
- Юнит-тесты с использованием Mockito
- Интеграционное тестирование
- Аннотации тестирования Spring
- Фреймворк TestContext
- Серверные тесты REST
- Тестирование REST сервисов в IntelliJ IDEA
- Тестирование WebFlux
7. Spring Планировщики (30 мин)
- Аннотация @Scheduled
- fixedRate, fixedDelay, initialDelay
- Использование выражений CRON
8. Spring кэширование (2 ч)
- Использование кеширования
- Использование и параметры настройки EhCache
- @Cacheable, @CacheEvict, @CachePut, @CacheConfig
- Conditional кэширование
- Java-based кэширование
- Кэширование в Spring Data
- Кэширование в Spring на основе EhCache
- Конфигурирование EhCache
9. Spring Boot Actuator (1 ч)
- Actuator endpoints
- Метрики в Spring Boot
- Мониторинг и управление через HTTP
- Инструмент мониторинга Spring Boot Admin
10. Развертывание приложения Spring (2,5 ч)
- Развертывание в Docker
- Развертывание в nginx в качестве фронт-сервера (включая балансировку нагрузки)
- HTTP кэширование с использованием NGINX
- Развертывание приложения Spring с помощью nginx - контейнерная установка, docker-compose
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- Информатика. 8 класс. Углубленный уровень. Учебное пособие. В 2-х частях [Константин Поляков, Евгений Еремин]
- Информатика. 9 класс. Углубленный уровень. Учебное пособие. В 2-х частях [Константин Поляков, Евгений Еремин]
- Основы теории надёжности автодорожных мостов и тоннелей [Александр Васильев]
- Гений артиллерии В. Грабин и мастера пушечных и ракетно-космических дел [Андрей Худяков, Сергей Худяков]
- Обучение по поисковому YouTube каналу [Эльдар Гузаиров]
- Управленческий и коучинговый журнал FirstGull Coaching Review (номера с 1 по 6) [Андрей Вебер]