Search courses 👉
Professional Course

Spring Advanced

Length
40 hours
Price
850 EUR + tax
Next course start
Start Anytime! See details
Delivery
Self-paced Online
Length
40 hours
Price
850 EUR + tax
Next course start
Start Anytime! See details
Delivery
Self-paced Online
This provider usually responds within 48 hours 👍

Course description

Welcome to "Spring Advanced", a comprehensive course designed for experienced developers aiming to master the Spring Framework's advanced features. This course covers essential topics for building robust, scalable, and secure applications using Spring. Through a blend of presentations, examples, and hands-on exercises, you will gain deep insights and practical experience in advanced Spring development.

This course covers the following key topics:

Spring Data REST and API Documentation: Advanced REST operations, HATEOAS, and documenting APIs with Swagger.

Transactions and Security: Handling complex transactions and implementing secure REST services using JWT and OAuth2.

Reactive Programming with WebFlux: Building and testing reactive applications with WebFlux and integrating with reactive data sources.

Key Learning Objectives

Master Advanced REST Operations:

  • Implement conditional operations, handle REST events, and document APIs effectively.

Manage Complex Transactions:

  • Understand transaction isolation levels, propagation, and distributed transactions.

Secure REST Services:

  • Use JWT for authorization, define role-based access, and build secure OAuth2 servers.

Develop Reactive Applications:

  • Build, test, and benchmark reactive applications using Spring WebFlux and reactive data repositories.

Enroll in "Spring Advanced" to deepen your expertise in Spring Framework and become proficient in handling complex, real-world applications. This course offers a thorough understanding of advanced Spring features, ensuring you are well-equipped to develop, secure, and deploy robust Spring applications in a professional environment.

Upcoming start dates

1 start date available

Start Anytime!

  • Self-paced Online
  • Online
  • English

Who should attend?

Prerequisites

Good knowledge of Java, knowledge of Spring

Training content

1. Spring Data REST advanced (5h)

1) Spring REST (3h)

- Introduction. Spring REST overview (1h)

- Conditional operations with headers (ETag, If-Match, If-None-Match, If-modified-since) (0.5h)

- REST events (0.5h)

- REST maturity model (0.5h)

- Spring HATEOAS (0.5h)

2) API RestTemplate and WebClient for implementing REST services (1h)

3) Documenting REST service with Swagger and SpringFox (1h)

Homework: ~2h

2. Object mapping and validation (5h)

- Limiting data passed to the client: @JsonIgnore, nullifying fields, DTO (0.1h)

- Projections and excerpts with Spring Data REST (0.1h)

- Using MapStruct for automatic mapping to DTO (1h)

- Custom serializers and deserializers (1h)

- Validation of model with javax.validation annotations, custom annotations (1h)

Homework: ~2 h

3. Transactions (6h)

- @Transactional annotation (0.5h)

- Transaction isolation levels (1h)

- Transaction propagation (1h)

- Exception handling in transactions (0.5h)

- The problem of calling a transaction from the same bin (0.5h)

- Optimistic locking (o.5h)

- Connecting several DBs to the project (0.5h)

- Distributed transactions and SAGA patterns (0.5h)

4. Security for REST services / JWT authorization and roles management (6h)

- Approaches to security handling in Spring (1h)

- Building UAA server with OAuth2 (1h)

- JWT tokens (2h)

- Using Spring Security to define role-based access, demonstrating examples (2h)

Homework: ~2h

5. Reactive Spring with WebFlux (8h)

- Reactive approach overview (0.5h)

- Reactive flows specification in Java 9 (0.5h)

- Class Mono and Flux (0.5h)

- Reactive operators (2h)

- R2DBC drivers (0.5h)

- Reactive Spring Data (0.5h)

- Building REST API with WebFlux (0.5h)

- WebClient for reactive data retrieval (1h)

- RSocket protocol (1h)

- Reactive interaction with RabbitMQ (0.5h)

- Reactive patterns and benchmarks (0.5h)

Homework: ~2h

6. Testing Spring services (mock objects, TestContext framework) (4h)

- Unit testing with Mockito (0.5h)

- Integration testing (1h)

- Spring testing annotations (0.5h)

- TestContext framework (0.5h)

- Server-Side REST Tests (0.5h)

- REST services testing in IntelliJ IDEA (0.5h)

- Testing WebFlux (0.5h)

Homework: ~2h

7. Spring Schedulers (0.5h)

- @Scheduled annotation

- fixedRate, fixedDelay, initialDelay

- using CRON expressions

Homework: ~30min

8. Spring caching (2h)

- Using caching

- EhCache usage and settings

- @Cacheable

- @CacheEvict, @CachePut

- @CacheConfig

- Conditional caching

- Java-based caching

- Spring Data caching

- Spring caching based on EhCache

- EhCache configuration

Homework: ~1h

9. Spring Boot Actuator (1h)

- Actuator endpoints

- Metrics in Spring Boot

- Monitoring and management over HTTP

- Spring Boot Admin management tool

10. Deploying Spring application (1.5h)

- Deploying into Docker (0.5h)

- Deploying Spring application with nginx as a front server (incl. load balancing) (0.5h)

- HTTP caching with NGINX (0.5h)

- Deploying Spring application with nginx - containerized setup with docker-compose (0.5h)

Homework: ~30 min

Total: theory 40h, practice (homework) 12h

Certification / Credits

Objectives

To introduce participants to advanced Spring Framework topics, plus give examples of usage.

Quick stats about Luxoft Training Center?

More than 200 training courses

Conducted over 1,500 training sessions

Customized training solutions for business

Contact this provider

Contact course provider

Fill out your details to find out more about Spring Advanced.

  Contact the provider

  Get more information

  Register your interest

Country *

reCAPTCHA logo This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Luxoft Training Center
Warsaw Spire, plac Europejski 1
00-844 Warsaw

Luxoft Training Center

Luxoft Training Center — an essential part of the global technology leader, Luxoft, a DXC Technology Company. We play a pivotal role in propelling B2B businesses forward by delivering customized training solutions. Emphasizing the significance of learning and employee development,...

Read more and show all training delivered by this supplier

Ads