Vendetta
Администратор
- Регистрация
- 16 Сен 2015
- Сообщения
- 244.638
- Реакции
- 426.072
**Складчина: Spring Advanced [IBS] [Мухитдинов Тимур]**
Курс посвящен темам, необходимым для профессионального применения Spring Framework на практике. В программе курса: расширенные вопросы применения Spring REST, технологии HATEOAS и CORS, документирование REST-сервисов, сериализация и ограничение данных для клиента, аннотация @Transactional, оптимистические транзакции, JWT-авторизация, сервер авторизации OAuth2, реактивное программирование с WebFlux, тестирование Spring-сервисов, планировщик задач и Actuator, развертывание в Docker.
**Цели:**
Познакомить слушателей с расширенными темами применения Spring Framework, предоставить примеры применения.
**Разбираемые темы:**
1. **Spring Data REST - расширенные темы (5 ч)**
- Введение в 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 ч)**
- Ограничение данных для клиента
- Проекции и ограничения в 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
- Различные способы планирования
- Выражения 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
- Условные операции с заголовками (ETag, If-Match, If-None-Match, If-modified-since)
- REST события
- Модель зрелости REST-сервисов
- Spring HATEOAS
- API RestTemplate и WebClient для написания клиентов REST-сервисов
- Документирование REST-сервисов с использованием Swagger и SpringFox
2. **Object mapping и валидация (5 ч)**
- Ограничение данных для клиента
- Проекции и ограничения в 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
- Различные способы планирования
- Выражения 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.
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- [Вязание] Gwynver Sweater - вязаный спицами пуловер с косами и японским плечом [Вяжи.ру] [The Knit Purl Girl]
- [Вязание] Воздушный пуловер-худи с японским плечом из тонкой мохеровой пряжи Rye спицами сверху [Вяжи.ру] [Alice Hoyle]
- Шаманизм легко. Встреча 7. Вопрос-ответ [Ольга Златогорская]
- Устойчивость терапевта [Институт EMDR и FLASH] [Ольга Тур]
- Когнитивно-поведенческая терапия: мастерство и эффективность. Модуль 1 [Тариф Слушатель] [Юлия Горячева, Аарон Бек]
- Практик трансформационных гипнотических путешествий, часть 05 из 10 (2026) [Игорь Ледоховский]
- Фабрика заготовок 3 [Тариф Расширенный] [Вера Малыгина]
- Go getter 1. Unit 1 [English box] [Инесса Черникова]