Aller au contenu

Apprendre Java & Spring Boot

Un parcours pour apprendre les bases de Java, puis construire une API REST avec Spring Boot, pensé pour quelqu'un qui code déjà en Rust, C++ et Python.

On ne réexplique pas ce qu'est une boucle ou une fonction. On se concentre sur ce qui change par rapport à ce que tu connais, sur les pièges, et sur le pourquoi des choix de Java et de Spring.

  • Partie 1 : Java


    La JVM, les types, le modèle mémoire (références + GC), la POO à la Java, les génériques, les exceptions, les streams, les threads, les annotations et Maven.

    Commencer

  • Partie 2 : Spring Boot


    L'injection de dépendances, une API REST complète (validation, erreurs, base de données, tests) puis le déploiement dans un conteneur.

    Commencer

  • Mémo


    Les équivalences Rust / C++ / Python → Java, les annotations Spring les plus courantes et les pièges classiques.

    Ouvrir

  • Projet complet


    Le code de l'API « todo » construite au fil de la partie Spring Boot, compilé et testé.

    todo-api.zip

Le parcours

Étape Contenu Durée indicative
Java 11 chapitres, chacun avec des exercices corrigés 2 à 4 soirées
Spring Boot 7 chapitres qui construisent une même API, étape par étape 2 à 3 soirées
Mémo À garder sous la main pendant que tu codes —

Les chapitres se lisent dans l'ordre : la partie Java prépare le terrain pour comprendre la « magie » de Spring (annotations, réflexion, proxies, conteneur d'objets).

Versions utilisées

Outil Version
Java (JDK) 25 (version LTS, Long Term Support)
Spring Boot 4.1 (basé sur Spring Framework 7)
Maven 3.10, via le wrapper ./mvnw fourni avec chaque projet

Tous les exemples de code ont été compilés et exécutés avec ces versions.

Comment lire ce site

Les comparaisons avec les langages que tu connais sont présentées en onglets :

var noms = List.of("Ada", "Linus", "Grace");
for (var nom : noms) {
    System.out.println(nom.toUpperCase());
}
let noms = vec!["Ada", "Linus", "Grace"];
for nom in &noms {
    println!("{}", nom.to_uppercase());
}
noms = ["Ada", "Linus", "Grace"]
for nom in noms:
    print(nom.upper())

Chaque chapitre se termine par des exercices dont la solution est repliée : essaie avant de l'ouvrir.

Le meilleur moyen d'apprendre

Garde un terminal ouvert avec jshell (la console interactive de Java, vue dans Installer et lancer) et teste chaque exemple au fur et à mesure.