Back-end & frameworks

Spring Boot in practice: API, data and security

Dependency injection, Spring Boot, data access, REST APIs, security and tests.

Request this program
Duration
35 h · 5 days
Level
Intermediate
Format
On site · Remote · Blended
Max. group size
12 participants

Overview

This program covers the Spring and Spring Boot foundation for developing enterprise applications in Java: container and dependency injection, configuration, data access with Spring Data, REST APIs with Spring MVC, security, tests and monitoring. It also covers migration between major versions and what AI brings to Spring development.

Who this program is for

  • Experienced Java developers
  • Teams adopting Spring Boot
  • Architects and tech leads

Prerequisites

  • Mastery of Java
  • Overview of the Jakarta EE platform appreciated

Learning objectives

  • Place Spring relative to Jakarta EE
  • Configure the container and its annotations
  • Use Spring Boot: starters, auto-configuration, profiles
  • Access data with Spring Data JPA
  • Build a REST API with Spring MVC
  • Secure with Spring Security
  • Test and monitor with Actuator

Detailed curriculum

10 modules · 35 h · 5 days

Day 1
Overview and dependency injection3.5 h
50% theory · 50% practice
  • Spring and the Java ecosystem
  • Inversion of control and injection
  • Beans, scopes and lifecycle
  • Annotation-based configuration
  • Aspect-oriented programming: principles
Spring Core in practice3.5 h🛠 1 workshop
30% theory · 70% practice
  • Java configuration and profiles
  • Property management
  • Designing a layered architecture
  • Application events
  • Container integration tests
🛠 Hands-on workshops
Layered application1.5 h

Structure a small application with services and injection.

✅ Deliverable : A layered application
Day 2
Spring Boot3.5 h
50% theory · 50% practice
  • Starters and auto-configuration
  • Externalized configuration
  • Profiles and secrets management
  • Packaging and running
  • Containerization
First APIs with Spring Boot3.5 h🛠 1 workshop
30% theory · 70% practice
  • REST controllers
  • JSON serialization
  • Input validation
  • Centralized error handling
  • OpenAPI documentation
🛠 Hands-on workshops
Resource API1.5 h

Create a complete CRUD API.

✅ Deliverable : A documented API
Day 3
Data access3.5 h🛠 1 workshop
30% theory · 70% practice
  • DAO and DTO
  • JPA mapping
  • Spring Data: repositories and derived queries
  • Custom queries and pagination
  • Transactions
🛠 Hands-on workshops
Domain persistence2 h

Model and persist the project's domain.

✅ Deliverable : A persistent model
Data quality and performance3.5 h
50% theory · 50% practice
  • Relations and lazy loading
  • The N+1 query problem
  • Database migrations with a dedicated tool
  • Auditing and timestamps
  • Cache
Day 4
Spring MVC, WebSockets and reactive3.5 h
50% theory · 50% practice
  • Spring MVC: controllers and views
  • Advanced REST services
  • WebSockets
  • Introduction to reactive programming
  • Choosing MVC or WebFlux
Spring Security3.5 h🛠 1 workshop
30% theory · 70% practice
  • Authentication and authorization
  • Filter chains
  • Token-based authentication
  • Roles and method-level security
  • Protecting an API
🛠 Hands-on workshops
Secured API2 h

Add authentication and roles to the API.

✅ Deliverable : A protected API
Day 5
Tests3.5 h
50% theory · 50% practice
  • Unit and integration tests
  • Testing controllers
  • Security tests
  • Test databases
  • Quality and coverage
Monitoring, migration and AI3.5 h🛠 1 workshop
30% theory · 70% practice
  • Actuator and metrics
  • Logging
  • Migrating to a new major version
  • AI assistants for Spring: best practices
  • Review
🛠 Hands-on workshops
Final review1 h

Review the application and plan its evolution.

✅ Deliverable : An improvement plan

Tools and technologies

DockerIntelliJ IDEAJavaMavenMySQLPostmanSpring Boot

Teaching methods

  • Alternating short lectures and hands-on work
  • Live demonstrations by the trainer
  • Capstone project built throughout the modules
  • Group corrections and discussion of best practices

Assessment

  • Hands-on exercises corrected in each module
  • Mini-project completed at the end of the course
  • Knowledge-check quiz

Required equipment

  • A computer with an internet connection
  • A recent JDK, Maven or Gradle and a Java IDE
  • A database (local or container)

Resources provided

  • Course materials and repository of corrected exercises

Career outcomes

  • A secure, tested and monitored Spring Boot API
  • A clean layered architecture
  • The landmarks to migrate to a new major version

Related video courses

My video courses that go with this program, to get ready for the training or to review afterwards. Free with an account.