Spring Advanced

Spring Advanced

Jak korzystać ze Spring REST, HATEOAS i CORS, dokumentować usługi REST, serializować i ograniczać dane przekazywane do klienta i nie tylko.
Kod: JVA-075
Czas trwania: 40 godzin

Opis szkolenia

Nasze szkolenie koncentruje się na praktycznych tematach Spring Framework, takich jak korzystanie ze Spring REST, HATEOAS i CORS, dokumentowanie usług REST, serializowanie i ograniczanie danych przekazywanych do klienta i nie tylko.

Omówimy również wykorzystanie adnotacji @Transactional, optmistic transactions, autoryzację JWT, serwer autoryzacji OAuth2, praktyczne wykorzystanie programowania reaktywnego z WebFlux, a także testowanie usług Spring, Scheduler & Actuator oraz wdrażanie do Dockera.

Plan szkolenia

Spring Data REST zaawansowany poziom
  • Operacje warunkowe z nagłówkami (ETag, If-Match, If-None-Match, If-Modified-Since)
  • REST events
  • REST maturity model
  • Spring HATEOAS
  • API RestTemplate i WebClient do implementacji usług REST
  • Dokumentowanie usługi REST za pomocą Swagger i SpringFox

Mapowanie obiektów i walidacja
  • Ograniczanie danych przekazywanych do klienta: @JsonIgnore, pola nullifying, DTO
  • Projekcje i fragmenty z Spring Data REST
  • Używanie MapStruct do automatycznego mapowania do DTO
  • Niestandardowe serializatory i deserializatory
  • Walidacja modelu z adnotacjami javax.validation, adnotacjami niestandardowymi

Transakcje
  • @ Adnotacja transakcyjna
  • Propagacja transakcji
  • Poziomy izolacji
  • Obsługa wyjątków w transakcjach

Bezpieczeństwo usług REST / autoryzacja JWT i zarządzanie rolami
  • Podejścia do obsługi bezpieczeństwa w Spring
  • Budowa serwera UAA z OAuth2
  • Tokeny JWT
  • Używanie Spring Security do definiowania dostępu opartego na rolach

Reactive Spring z WebFlux
  • Omówienie podejścia reaktywnego
  • Klasa Mono i Flux
  • Operatorzy reaktywni
  • Sterowniki R2DBC
  • Reactive Spring Data
  • Budowanie REST API z WebFlux
  • WebClient do reaktywnego pobierania danych
  • Protokół RSocket
  • Reaktywna interakcja z RabbitMQ
  • Reaktywne wzorce i wzorce

Testowanie usług Spring (makiety obiektów, framework TestContext)
  • Testowanie jednostkowe za pomocą Mockito
  • Testy integracyjne
  • Adnotacje dotyczące testów Spring
  • Framework TestContext
  • Testy REST po stronie serwera
  • Testowanie usług REST w IntelliJ IDEA
  • Testowanie WebFlux

Harmonogramy Spring
  • @ Zaplanowana adnotacja
  • fixedRate, fixedDelay, initialDelay
  • używając wyrażeń CRON

Spring caching
  • Korzystanie z buforowania
  • @Cacheable
  • @CacheEvict, @CachePut
  • @CacheConfig
  • Warunkowe buforowanie
  • Buforowanie oparte na języku Java
  • Spring caching oparty na EhCache
  • Konfiguracja EhCache

Spring Boot Actuator
  • Actuator endpoints
  • Metryki w Spring Boot
  • Monitorowanie i zarządzanie przez HTTP
  • Narzędzie do zarządzania Spring Boot Admin

Wdrażanie aplikacji Spring
  • Wdrażanie w Docker
  • Wdrażanie aplikacji Spring z nginx jako serwerem frontowym (w tym load balancing)
  • Wdrażanie aplikacji Spring za pomocą nginx - konfiguracja kontenerowa za pomocą docker-compose

Cele

  • Przedstawienie zaawansowanych tematów dotyczących Spring Framework i pokazanie przykładów ich wykorzystania

Grupa docelowa

  • Programiści Java
  • Architekci oprogramowania

Wymagania

  • Dobra znajomość języka Java, znajomość Springa

Harmonogram w Online Cennik
Zapisz sie na nastepny kurs
+
Wczesniejsza rejestracja gwarantuje priorytet. Powiadomimy panstwa o nastepnym zaplanowanym szkoleniu na ten temat.
Online 3520 zł
Bucharest 3520 zł
Kraków 3520 zł
Wroclaw 3520 zł

Uprzejmie informujemy, że płatność za każde szkolenie będzie realizowana w lokalnie obowiązującej walucie. Jednocześnie informujemy, że podane ceny mogą ulec zmianie w zależności od lokalizacji szkolenia oraz trybu jego realizacji. Do ceny netto widocznej przy wybranym szkoleniu należy doliczyć 23% podatku VAT.

JVA-075 +0+JVA-075106510

Zarejestruj się na następne szkolenie

* - Wymagane pola
Imię*
Nazwisko*
Firma
Email*
Preferred Location
Numer telefonu*
Twój komentarz
Masz jeszcze jakieś pytania?
Skontaktuj się z nami
Thank you.
Your request has been received.