Spring Boot 4 — jeandecode.fr
jeandecode.fr · Cours complet

Spring Boot 4 — de zéro à la production

Un cours pensé pour les développeurs PHP et React qui veulent maîtriser l'écosystème Java moderne. Chaque partie construit sur la précédente : on apprend en construisant de vrais projets, pas en lisant des slides.

Feuille de route

Partie 00
Java essentiel — types primitifs vs objets, génériques, Stream API, Optional, records Java 21, Maven. Ce qu'un dev PHP/JS doit savoir avant d'écrire la première ligne Spring.
Partie 00
IoC & Injection de dépendances — le conteneur Spring, @Component, @Service, injection par constructeur, @RequiredArgsConstructor, autoconfiguration, profils.
Partie 00
Panorama des modules Spring Boot 4 — starters vérifiés (attention aux renommages Spring Boot 4), Spring Cloud, BOM, vue d'ensemble.
Projet 1
API REST complète — architecture 4 couches, entités JPA & Spring Data, DTOs records, validation @Valid, gestion d'erreurs RFC 7807 (ProblemDetail), sécurité JWT avec Spring Security 7, tests JUnit 5 + @MockitoBean.
Projet 2
Microservices fondamentaux — Service Discovery Eureka, Spring Cloud Gateway (WebFlux), Config Server Git, OpenFeign avec fallback, Resilience4j (Circuit Breaker, Retry, TimeLimiter, Bulkhead), sécurité distribuée JWT.
Projet 3
Architecture Hexagonale & DDD — Ports & Adapters, Domain-Driven Design, agrégats (Order, Product, User), Value Objects immuables (Money, Quantity), Use Cases, séparation domaine / infrastructure, Adapter REST (driving) et Adapter JPA + Feign (driven).
Projet 4
Microservices avancés — bientôt — Kong API Gateway, Keycloak & OAuth2/OIDC, Kafka & RabbitMQ, Docker Compose complet, déploiement cloud.

Stack technique

TechnologieVersionUtilisée dans
Java21 LTSTout — records, sealed classes, virtual threads
Spring Boot4.1Tout — webmvc, data-jpa, security, actuator
Spring Security7.xProjet 1, 2, 3 — JWT, lambda DSL, STATELESS
Spring Cloud2025.1 "Oakwood"Projet 2 — Eureka, Gateway, Config, Feign
Resilience4j3.xProjet 2, 3 — Circuit Breaker, Retry, Bulkhead
PostgreSQL16Tout — via Docker Compose
Maven3.9+Tout — multi-module à partir du Projet 2
Lombok—Tout — @RequiredArgsConstructor, @Getter…
JJWT0.12.6Projet 1, 2, 3 — génération et validation JWT

Prérequis

  • Connaissance d'un langage orienté objet (PHP, JavaScript, Python…)
  • Notions de HTTP, REST, JSON
  • Docker installé en local (pour PostgreSQL et les services)
  • Java 21 + Maven installés — sdk install java 21.0.3-tem via SDKMAN recommandé
  • IDE : IntelliJ IDEA Community (gratuit) ou VS Code + Extension Pack for Java

Progression recommandée

✓ Par où commencer ?

Suivre les parties dans l'ordre — chaque projet réutilise ce qui a été vu avant. Compter environ :

  • Partie 00 — 2h (Java essentiel + IoC + modules)
  • Projet 1 — 4h (API REST complète avec JWT)
  • Projet 2 — 5-6h (microservices, plusieurs services à démarrer en parallèle)
  • Projet 3 — 4-5h (architecture hexagonale, conceptuellement dense)

Le Projet 3 peut être abordé indépendamment du Projet 2 — il ne nécessite pas d'avoir tout l'écosystème microservices en place. Un simple service Spring Boot suffit pour pratiquer l'architecture hexagonale.