Spring Avansati

Spring REST, HATEOAS si CORS, documentarea REST services, serializarea si limitarea datelor transmise catre client si multe altele.
Cod: JVA-075
Durata: 40 ore

Descriere

In cadrul acestui curs vom aborda aspectele practice ale Spring Framework cum ar fi Spring REST, HATEOAS si CORS, documentarea REST services, serializarea si limitarea datelor transmise catre client si multe altele.

Vom discuta si despre folosirea @Transactional annotation, optimistic transactions, JWT authorization, OAuth2 authorization server, utilizarea reactive programming cu WebFlux precum si testarea serviciilor Spring, Scheduler & Actuator, si implementarea in Docker.

Subiecte curs

Spring Data REST
  • Prezentare Spring REST
  • Conditional operations cu headers (ETag, If-Match, If-None-Match, If-modified-since)
  • REST events
  • REST maturity model
  • Spring HATEOAS
  • API RestTemplate si WebClient pentru implementarea REST services
  • Documentarea REST service cu Swagger si SpringFox
  • Practica

Object mapping si validare
  • Limitarea datelor trimise catre client: @JsonIgnore, nullifying fields, DTO
  • Projections si excerpts cu Spring Data REST
  • Utilizarea MapStruct pentru automatic mapping in DTO
  • Custom serializers & deserializers
  • Validarea unui model cu adnotarile javax.validation, adnotari personalizate
  • Practica

Tranzactii
  • Adnotarea @Transactional
  • Transaction isolation levels
  • Transaction propagation
  • Exception handling in transactions
  • The problem of calling a transaction from the same bin
  • Optimistic locking
  • Conectarea mai multor baze de date la proiect
  • Distributed transactions si SAGA patterns

Securitate in REST services / Autorizare JWT si managementul rolurilor
  • Abordari legate de securitate in Spring
  • Construirea unui server UAA cu OAuth2
  • JWT tokens
  • Folosirea Spring Security pentru a defini role-based access, exemple
  • Practica

Reactive Spring cu WebFlux
  • Prezentare reactive approach
  • Reactive flows specification in Java 9
  • Class Mono & Flux
  • Reactive operators
  • R2DBC drivers
  • Reactive Spring Data
  • Dezvoltarea REST API cu WebFlux
  • WebClient for reactive data retrieval
  • RSocket protocol
  • Reactive interaction cu RabbitMQ
  • Reactive patterns & benchmarks
  • Practica

Testing Spring services (mock objects, TestContext framework)
  • Unit testing in Mockito
  • Integration testing
  • Spring testing annotations
  • TestContext framework
  • Server-Side REST Tests
  • REST services testing in IntelliJ IDEA
  • Testing WebFlux
  • Practica

Spring Schedulers
  • @Scheduled annotation
  • fixedRate, fixedDelay, initialDelay
  • Utilizarea CRON expressions
  • Practica

Spring caching
  • Utilizarea caching
  • EhCache usage & settings
  • @Cacheable
  • @CacheEvict, @CachePut
  • @CacheConfig
  • Conditional caching
  • Java-based caching
  • Spring Data caching
  • Spring caching based on EhCache
  • EhCache configuration
  • Practica

Spring Boot Actuator
  • Actuator endpoints
  • Metrics in Spring Boot
  • Monitoring & management over HTTP
  • Spring Boot Admin management tool

Implementarea unei aplicatii Spring
  • Implementare in Docker
  • Implementarea unei aplicatii Spring cu nginx ca front server (incl. load balancing)
  • HTTP caching cu NGINX
  • Implementarea unei aplicatii Spring cu nginx - containerized setup cu docker-compose
  • Practica

Obiective

  • Familiarizarea cu subiecte avansate legate de Spring Framework si exemple de utilizare

Public tinta

  • Programatori Java
  • Arhitecti Software

Cerinte curs

  • Cunostinte de Java si Spring

Alege oras Online Pret
Inregistreaza-te pentru urmatorul curs.
+
Inregistrarea la urmatorul curs va asigura prioritatea pe lista de inscriere. Veti fi contactat pentru confirmarea inscrierii in momentul in care urmatorul curs este programat.
Online 3040 RON
Bucuresti 3040 RON
Cracovia 3040 RON
Wroclaw 3040 RON

Facturile pentru curs sunt emise in moneda locala. Toate preturile de mai sus pot fi supuse modificarilor in functie de locul unde se desfasoara trainingul si modul de livrare. Preturile pot fi supuse modificarilor si in perioada in care se programeaza. La preturile afisate se adauga TVA.

Inscrie-te!

Prenume*
Nume*
Companie
Adresa email*
Alege oras
Telefon
Observatii
Mai ai intrebari?
Contacteaza-ne.
Thank you.
Your request has been received.