Choisissez votre langue
Cours Java avec Spring Boot
Plus de 2 millions d'étudiants dans le monde

Cours Java avec Spring Boot

Maîtrisez Java et Spring Boot de A à Z et créez des applications prêtes pour la production que les employeurs recherchent réellement. Ce cours vous emmène des fondamentaux de Java jusqu'aux API REST, à la persistance des données, à la sécurité, aux tests et au déploiement avec Docker. Chaque concept est ancré dans les pratiques d'ingénierie réelles utilisées par les équipes de développement professionnelles.

Dedika pour les entreprises

Ce que vous allez apprendre:

Vous commencerez par les fondamentaux de Java, notamment la POO, les collections et les fonctionnalités modernes de Java, avant d'aborder la configuration d'un projet Spring Boot, l'injection de dépendances et l'architecture applicative. Ensuite, vous concevrez et construirez des API RESTful avec une validation appropriée, une gestion des erreurs et une documentation OpenAPI. Vous persisterez les données à l'aide de Spring Data JPA, sécuriserez vos API avec Spring Security et JWT, et écrirez des tests unitaires et d'intégration avec JUnit 5 et Mockito. Enfin, vous conteneuriserez votre application avec Docker et configurerez l'observabilité à l'aide de Spring Boot Actuator, Prometheus et Grafana.

Comment vous étudiez de façon pratique Cours Java avec Spring Boot

Comment vous pratiquez Cours Java avec Spring Boot

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.

Cliquez ici

Contenu du cours

8 Chapitres • 39 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Notions fondamentales de Java pour Spring Boot

  • Leçon 1 • Gestion des exceptions et débogage

    Couvre les exceptions vérifiées et non vérifiées, try-catch-finally et les exceptions personnalisées. Une gestion robuste des erreurs est essentielle pour créer des API Spring Boot fiables.

  • Leçon 2 • Fonctionnalités modernes de Java

    Présente les lambdas, les streams, Optional et les records de Java 8 à Java 17. Spring Boot exploite largement ces fonctionnalités dans ses couches d'auto-configuration et de données.

  • Leçon 3 • Collections et Generics

    Explore List, Set, Map et Queue avec des paramètres de type générique. Une utilisation appropriée des collections est essentielle pour gérer les données dans les services et dépôts Spring.

  • Leçon 4 • Syntaxe Java et types de données

    Couvre les types primitifs, les variables, les opérateurs et le contrôle de flux. Établit la base syntaxique requise pour tout le code Java et Spring ultérieur.

  • Leçon 5 • Principes de la programmation orientée objet

    Enseigne l'encapsulation, l'héritage (POO), le polymorphisme et l'abstraction à l'aide de classes Java. Ces piliers de la POO sous-tendent chaque composant Spring et la conception de beans.

Chapitre 2Voir les détails

Configuration et structure d'un projet Spring Boot

  • Leçon 1 • Auto-configuration Spring Boot

    Explique comment Spring Boot configure automatiquement les beans en fonction des dépendances du classpath. Comprendre ce mécanisme évite les mauvaises configurations et facilite le dépannage.

  • Leçon 2 • Structure de l'application et conventions

    Explique la disposition standard des packages, la classe principale et les conventions Spring Boot. Suivre ces conventions permet l'auto-configuration et le scan des composants.

  • Leçon 3 • Spring Initializr et outils de build

    Génère un projet avec Spring Initializr et configure les fichiers de build Maven ou Gradle. C'est le point d'entrée pour chaque application Spring Boot créée dans le cours.

  • Leçon 4 • Fichiers de configuration et profiles

    Gère les paramètres de l'application via application.properties et application.yml avec des profiles d'environnement. Les profiles permettent une commutation transparente entre les configurations de développement, de test et de production.

Chapitre 3Voir les détails

Injection de dépendances et noyau Spring

  • Leçon 1 • Annotations stéréotype et scan de composants

    Utilise @Component, @Service, @Repository et @Controller pour enregistrer automatiquement les beans. Une utilisation correcte des annotations renforce les frontières architecturales dans les applications en couches.

  • Leçon 2 • Configuration basée sur Java

    Définit les beans par programmation avec les méthodes @Configuration et @Bean. La configuration Java offre des alternatives type-safe et refactorisables au XML ou au scan d'annotations.

  • Leçon 3 • Scopes et cycle de vie des beans

    Couvre les scopes singleton, prototype, request et session ainsi que les callbacks de cycle de vie. Une sélection correcte du scope prévient les fuites mémoire et les bogues de concurrence.

  • Leçon 4 • Inversion de contrôle et conteneur IoC

    Définit l'IoC et explique comment l'ApplicationContext gère les beans. Ce modèle mental est le fondement pour comprendre chaque composant Spring.

  • Leçon 5 • Modèles d'injection de dépendances

    Compare l'injection par constructeur, par setter et par champ avec des recommandations de bonnes pratiques. Choisir le bon style d'injection améliore la testabilité et la clarté du code.

Chapitre 4Voir les détails

Création d'API REST avec Spring MVC

  • Leçon 1 • Documentation API avec OpenAPI

    Génère une documentation API interactive à l'aide de SpringDoc et de la spécification OpenAPI. La documentation accélère l'intégration des nouveaux développeurs et sert de contrat pour les consommateurs.

  • Leçon 2 • Gestion des requêtes Spring MVC

    Mappe les requêtes HTTP aux méthodes de contrôleur en utilisant @RequestMapping et ses raccourcis. Cette section établit le cycle requête-réponse central pour toutes les API REST.

  • Leçon 3 • Bonnes pratiques de conception d'API REST

    Applique la dénomination des ressources RESTful, la sémantique des méthodes HTTP et les conventions de codes de statut. Des API bien conçues réduisent les erreurs client et simplifient le versioning.

  • Leçon 4 • Validation des entrées et réponses d'erreur

    Valide les corps de requête avec les annotations Bean Validation et gère les erreurs globalement. Des réponses d'erreur cohérentes améliorent la convivialité de l'API et l'intégration client.

  • Leçon 5 • Corps de requête et de réponse

    Sérialise et désérialise le JSON en utilisant @RequestBody, @ResponseBody et Jackson. Une gestion correcte du corps garantit l'interopérabilité avec tout client REST.

Chapitre 5Voir les détails

Persistance des données avec Spring Data JPA

  • Leçon 1 • Migrations de base de données avec Flyway

    Gère l'évolution du schéma à l'aide de scripts de migration Flyway versionnés. Les migrations automatisées garantissent un état de base de données cohérent dans tous les environnements.

  • Leçon 2 • Repositories Spring Data

    Utilise JpaRepository et CrudRepository pour générer automatiquement des méthodes d'accès aux données. L'abstraction Repository élimine le code DAO standard.

  • Leçon 3 • Relations entre entités

    Modélise les associations un-à-un, un-à-plusieurs et plusieurs-à-plusieurs avec les options de cascade et de chargement. Un mappage correct des relations prévient les problèmes d'intégrité des données et les requêtes N+1.

  • Leçon 4 • Gestion des transactions

    Contrôle la cohérence des données avec @Transactional, la propagation et les niveaux d'isolation. Des limites de transaction correctes empêchent les lectures sales et les mises à jour partielles.

  • Leçon 5 • Entités JPA et mappage

    Mappe les classes Java aux tables de base de données en utilisant des annotations JPA. Une conception d'entité correcte est le fondement d'une couche de données fiable et performante.

Chapitre 6Voir les détails

Sécurité avec Spring Security

  • Leçon 1 • Autorisation et contrôle d'accès basé sur les rôles

    Restreint l'accès aux endpoints en utilisant @PreAuthorize, @Secured et les règles de sécurité HTTP. Une autorisation fine applique le principe du moindre privilège.

  • Leçon 2 • Authentification sans état basée sur JWT

    Implémente l'émission, la validation et le rafraîchissement de jetons en utilisant JSON Web Tokens. JWT permet une authentification sans état et évolutive pour les API REST.

  • Leçon 3 • Configuration de l'authentification utilisateur

    Configure des magasins d'utilisateurs en mémoire et basés sur une base de données avec encodage de mot de passe. Le stockage sécurisé des identifiants est une exigence de base pour toute application de production.

  • Leçon 4 • CORS, CSRF et en-têtes de sécurité

    Configure le partage de ressources entre origines (CORS), la protection CSRF et les en-têtes de sécurité HTTP. Ces paramètres défendent contre les vulnérabilités web courantes dans les clients basés sur navigateur.

  • Leçon 5 • Fondamentaux de Spring Security

    Explique la chaîne de filtres de sécurité, le gestionnaire d'authentification et le contexte de sécurité. Cette architecture sous-tend chaque fonctionnalité de sécurité ajoutée dans les sections suivantes.

Chapitre 7Voir les détails

Test des applications Spring Boot

  • Leçon 1 • Tests de tranche de contrôleur avec MockMvc

    Teste les contrôleurs REST de manière isolée en utilisant @WebMvcTest et MockMvc. Les tests de tranche valident le mappage des requêtes, la validation et la gestion des erreurs sans contexte complet.

  • Leçon 2 • Tests unitaires avec JUnit 5 et Mockito

    Teste les classes individuelles de manière isolée en utilisant les assertions JUnit 5 et les mocks Mockito. Les tests unitaires isolés s'exécutent rapidement et identifient les défauts à la source.

  • Leçon 3 • Tests de tranche de repository avec DataJpaTest

    Valide les requêtes JPA et les méthodes de repository à l'aide d'une base de données en mémoire. Les tests de la couche de données confirment la génération SQL correcte et le mappage des entités.

  • Leçon 4 • Test des beans et services Spring

    Charge un contexte Spring partiel avec @ExtendWith(SpringExtension) et @MockBean. Les tests de la couche service vérifient la logique métier avec un câblage Spring réel.

  • Leçon 5 • Tests d'intégration et de bout en bout

    Exécute des tests complets sur une base de données réelle en utilisant Testcontainers et RestAssured. Les tests d'intégration détectent les défauts entre les couches manqués par les tests unitaires et de tranche.

Chapitre 8Voir les détails

Déploiement et préparation à la production

  • Leçon 1 • Conteneurisation avec Docker

    Crée des images Docker optimisées en utilisant des JAR en couches et des builds multi-étapes. Les conteneurs standardisent l'environnement d'exécution et simplifient l'orchestration.

  • Leçon 2 • Journalisation structurée et tracing distribué

    Configure Logback pour les logs JSON structurés et ajoute des ID de trace avec Micrometer Tracing. Les logs et traces corrélés accélèrent l'analyse des causes profondes dans les systèmes distribués.

  • Leçon 3 • Empaquetage et exécution de l'application

    Construit des JAR et WAR exécutables et configure les options de démarrage JVM. Un empaquetage correct garantit que l'application s'exécute à l'identique sur toutes les cibles de déploiement.

  • Leçon 4 • Réglage des performances et mise en cache

    Applique l'abstraction de cache Spring, le réglage du pool de connexions et le traitement asynchrone. Ces optimisations réduisent la latence et augmentent le débit sous charge de production.

  • Leçon 5 • Observabilité avec Spring Boot Actuator

    Expose les endpoints de santé, de métriques et d'informations via Spring Boot Actuator. Les endpoints d'observabilité sont le fondement de la surveillance et des alertes en production.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Développeur junior : souhaite dépasser le stade des tutoriels pour se lancer dans le travail backend réel.

  • Reconversion professionnelle : transition d'un domaine non technique vers le développement logiciel en tant que profession.

  • Diplômé en informatique : possède la théorie académique mais manque d'expérience pratique de projet avec Spring Boot.

  • Développeur frontend : prêt à élargir ses compétences et à maîtriser l'ensemble de la pile applicative.

  • Programmeur amateur : crée des projets personnels et vise une qualité de code professionnelle.

  • Ingénieur QA : cherche à approfondir ses connaissances en développement pour évoluer vers un rôle de codeur.

Ce que disent nos élèves

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika ?

Le certificat est-il valable au Maroc ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail du cours ?

Comment sont les cours ?

Comment fonctionnent les cours ?

Quelle est la durée des cours ?

Quel est le coût ou le prix des cours ?

Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?

Cours PDF