Spring Advanced

How to use Spring REST, HATEOAS and CORS, documenting REST services, serializing and limiting the data passed to the client and more.
Code: JVA-075
Duration: 36 hours


Our training focuses on the practical topics of Spring Framework such as how to use Spring REST, HATEOAS and CORS, documenting REST services, serializing and limiting the data passed to the client and more.

We will also cover the use o @Transactional annotation, optimistic transactions, JWT authorization, OAuth2 authorization server, practical usage of reactive programming with WebFlux as well as testing Spring services, Scheduler & Actuator, and deploying to Docker.


Spring Data REST advanced
  • Conditional operations with headers (ETag, If-Match, If-None-Match, If-modified-since)
  • REST events
  • REST maturity model
  • Spring HATEOAS
  • API RestTemplate and WebClient for implementing REST services
  • Documenting REST service with Swagger and SpringFox

Object mapping and validation
  • Limiting data passed to the client: @JsonIgnore, nullifying fields, DTO
  • Projections and excerpts with Spring Data REST
  • Using MapStruct for automatic mapping to DTO
  • Custom serializers and deserializers
  • Validation of model with javax.validation annotations, custom annotations

  • @Transactional annotation
  • Transaction propagation
  • Isolation levels
  • Exception handling in transactions

Security for REST services / JWT authorization and roles management
  • Approaches to security handling in Spring
  • Building UAA server with OAuth2
  • JWT tokens
  • Using Spring Security to define role-based access

Reactive Spring with WebFlux
  • Reactive approach overview
  • Class Mono and Flux
  • Reactive operators
  • R2DBC drivers
  • Reactive Spring Data
  • Building REST API with WebFlux
  • WebClient for reactive data retrieval
  • RSocket protocol
  • Reactive interaction with RabbitMQ
  • Reactive patterns and benchmarks

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

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

Spring caching
  • Using caching
  • @Cacheable
  • @CacheEvict, @CachePut
  • @CacheConfig
  • Conditional caching
  • Java-based caching
  • Spring caching based on EhCache
  • EhCache configuration

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

Deploying Spring application
  • Deploying into Docker
  • Deploying Spring application with nginx as a front server (incl. load balancing)
  • Deploying Spring application with nginx - containerized setup with docker-compose


  • Introduce you to advanced Spring Framework topics and give examples of how they can be used

Target Audience

  • Java Developers
  • Software Architects


  • Good knowledge of Java, knowledge of Spring

Schedule in Online Prices
Register for the next course
Registering in advance ensures you have priority. Well notify you when we schedule the next course on this topic
Online €540
Bucharest €540
Krakow €540
Wroclaw €540

Invoices for the course will be issued in local currency. All fees above can change according to training location and delivery mode and are subject to change while scheduling. Price does not include VAT.

Sign up

First Name*
Last Name*
Preferred Location
Your Comment
Still have questions?
Connect with us
Thank you.
Your request has been received.
Thank you!
The form has been submitted successfully.