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
| Technologie | Version | Utilisée dans |
|---|---|---|
| Java | 21 LTS | Tout — records, sealed classes, virtual threads |
| Spring Boot | 4.1 | Tout — webmvc, data-jpa, security, actuator |
| Spring Security | 7.x | Projet 1, 2, 3 — JWT, lambda DSL, STATELESS |
| Spring Cloud | 2025.1 "Oakwood" | Projet 2 — Eureka, Gateway, Config, Feign |
| Resilience4j | 3.x | Projet 2, 3 — Circuit Breaker, Retry, Bulkhead |
| PostgreSQL | 16 | Tout — via Docker Compose |
| Maven | 3.9+ | Tout — multi-module à partir du Projet 2 |
| Lombok | — | Tout — @RequiredArgsConstructor, @Getter… |
| JJWT | 0.12.6 | Projet 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-temvia 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.