Formation Apprendre à créer une application complète en utilisant Spring Boot

Paris - 29-30 avril, 2-3 mai

2 500€ HT / personne (3 000€ TTC)

4 jours

Lyon - 17-20 juin

2 500€ HT / personne (3 000€ TTC)

4 jours

Objectifs

Avec l’avènement de Spring Boot, le framework Spring arrive à une maturité telle que la course à l’innovation en fait un partenaire de choix. Le recours massif au Cloud et l’arrivée de framework alternatifs innovants a également amené de nouvelles opportunités et exigences.

  • Acquérir des connaissances solides sur Spring Framework et l’écosystème qui l’entoure
  • Intégrer la philosophie de développement prônée par Spring Framework
  • Être capable de développer une application web complète grâce à Spring en appliquant les bonnes pratiques de développement et intégrant les dimensions transverses (sécurité, transaction, etc.)
  • Être capable de designer et implémenter des tests automatisés sur un composant unitaire ou un ensemble de composants Spring
  • Gagner en productivité grâce à l’association de Spring Boot et de votre IDE
  • Avoir conscience des enjeux de déploiement d’une application Spring Boot et des options à disposition

Spring a longtemps été synonyme d’innovation là où Jakarta EE (ex. Java EE) a représenté la standardisation. Depuis de nombreuses années, ce framework qui s’est transformé tour à tour en écosystème puis en pilier de la stratégie de la société Pivotal, n’a cessé de faire ses preuves.

Découvrez ou redécouvrez les piliers de ce framework et apprenez à l’utiliser pour construire des applications structurées grâce à des pratiques de programmation solides et à des bonnes pratiques allant jusqu’au déploiement.

Tout au long de la formation vous apprendrez par la pratique à vous familiariser avec les concepts de Spring, au départ sur de petits exercices guidés visant à rapidement ancrer les concepts, puis au travers d’un projet de complexité métier simple qui aboutira à une application web complète.

Cette formation porte sur Spring 6.x / Spring Boot 3.x et s’adresse à tout profil technique ayant des compétences de développeur·se Java.

Acquis à l'issue de la formation

A l’issue de cette formation, vous :

  • serez familiers de Spring
  • saurez créer une application complète en utilisant Spring Boot
  • aurez acquis les bases autour de l’écosystème pour pouvoir passer à la vitesse supérieure en vous intéressant à la thématique des architectures microservices

Public concerné et pré-requis

  • Connaissance préalable de Java 8 ou supérieur (au minimum un JDK 17 sera nécessaire)
  • Être familier d’un outil de build parmi Maven et Gradle
  • Connaissances de base sur l’écriture de tests unitaires avec JUnit ou équivalent
  • Connaissances de base sur le web et les bases de données
  • Notions sur Git
  • Les participants devront être équipés d’un PC (non fourni) et avoir installé Git dans sa dernière version.

Evaluation

En début de formation, une autoévaluation est effectuée pour évaluer le niveau, ainsi que les attentes de chaque participant. Ainsi nous pouvons organiser au mieux les différents groupes de travail.
Par la suite, le formateur effectue une évaluation continue à l'aide des nombreux exercices pratiques.
En fin de formation, la progression et les acquis sont autoévalués par chacun des participants. Le formateur fournit à chacun des participants une évaluation, ainsi que les axes d'amélioration.
En option, un accompagnement postformation peut être effectué. Cela fera l'objet d'un devis complémentaire.

Programme

  • 1ère demi-journée : Module 1 - prise en main de Spring (partie 1)
    • Chapitre 1 : Introduction à Spring
      • La genèse de Spring framework
      • Fonctions de base remplies par Spring
      • Historique d’Interface21 à Pivotal
      • Aperçu général du portfolio Spring
    • Chapitre 2 - Mise en oeuvre d’une fabrique avec Spring et la configuration XML
      • Design Pattern Factory
      • Approche orientée composants et recours à des POJOs
      • Inversion of Control
      • Déclaration d’un bean Spring en XML
      • Injection de dépendances
      • Tests d’intégration (premier aperçu)
      • Démarrage d’une application Spring
  • 2ème demi-journée : Module 1 - prise en main de Spring (partie 2)
    • Chapitre 3 - Fonctionnement d’un conteneur Spring
      • Cycle de vie des beans Spring
      • Notion de scopes
    • Chapitre 4 - Configuration Spring
      • Création de composants avec un FactoryBean
      • Externalisation dans des fichiers .properties
      • Les namespaces
      • Découpage et inclusion des configurations Spring
      • Notion de profils
  • 3ème demi-journée : Module 1 - prise en main de Spring (partie 3)
    • Chapitre 5 - La place de Spring dans l’écosystème Java
      • Spring et le standard Jakarta EE
      • Les frameworks alternatifs à Spring (Boot)
    • Chapitre 6 - Alternatives (compléments) à la déclaration / configuration XML
      • Déclarations et injection par annotations
      • Déclarations en Java Config
  • 4ème demi-journée : Module 1 - prise en main de Spring (partie 4)
    • Chapitre 7 - Spring et les pratiques de test
      • Bénéfices immédiats pour l’écriture de tests unitaires
      • Spring Test et l’isolation d’un lot de composants
      • Cycle de vie d’un test JUnit géré par Spring
      • Tests d’intégration avec Spring
    • Chapitre 8 - La programmation orientée aspect (AOP) avec Spring
      • Notions de préoccupations transverses
      • Concepts et vocabulaire
      • Les différents types d’advices
      • Spring AOP et l’usage de Dynamic Proxies
      • AspectJ
      • Exemple avec l’exécution d’un traitement asynchrone
  • 5ème demi-journée : Module 2 - Découverte de Spring Boot et accès aux données avec Spring (partie 1)
    • Chapitre 1 - Simplifier le setup et le développement d’une application Spring avec Spring Boot
      • Qu’apporte Spring Boot ?
      • Bootstrapping avec Spring Initializr
      • Ajout de fonctionnalités : les starters
    • Chapitre 2 - Spring Boot DevTools
    • Chapitre 3 - Focus sur les déclarations de composants avec Java Config
    • Chapitre 4 - Quelques éléments de configuration avancée avec Java Config
      • Convention over configuration
      • Autoconfiguration
  • 6ème demi-journée : Module 2 - Découverte de Spring Boot et accès aux données avec Spring (partie 2)
    • Chapitre 5 - Accès aux données avec Spring
      • Hiérarchie d’exceptions DataAccessException
    • Chapitre 6 - Accès aux bases de données avec JDBC
      • Gestion de l’infrastructure d’accès à une base de données
      • Création d’un composant type DAO JDBC
      • L’API JdbcTemplate
      • Test d’intégration
    • Chapitre 7 - Accès aux bases de données avec JPA
      • Gestion de l’infrastructure d’accès à un contexte JPA
      • Création d’un composant type DAO JPA
      • Courte introduction à Spring Data
    • Chapitre 8 - Couche service et gestion transactionnelle avec Spring
      • Démarcation d’une transaction
      • Traitement des exceptions
      • Tests d’intégration
  • 7ème demi-journée : Module 3 - Découverte du développement Web avec Spring MVC
    • Chapitre 1 - Généralités sur le développement Web dans l’écosystème Java
      • Principaux styles d’architecture
      • Panorama des frameworks web Java
      • Rappels sur les patterns MVC et MVC2
    • Chapitre 2 - Création d’un contrôleur avec Spring Boot
      • Mapping de requêtes
      • Notion de signatures de méthodes flexibles
    • Chapitre 3 - Démarrage d’une application web avec Spring Boot
      • Les différentes façons de démarrer une application web Spring Boot
      • Choix du conteneur de servlets intégré
    • Chapitre 4 - Configuration d’une application Spring MVC
      • DispatcherServlet
      • ContextLoaderListener
      • Notion de hiérarchie de contextes
    • Chapitre 5 - Création de Webservices REST
      • Rappels sur REST
      • Mise en oeuvre avec Spring MVC
      • Quelques éléments avancés
    • Chapitre 6 - Tester son API REST
  • 8ème demi-journée : Module 4 - Sécurisation et déploiement d’une API REST
    • Chapitre 1 - Spring Security
      • Authentification et autorisations
      • Mise en application des autorisations sur une API REST
      • Tests d’intégration des aspects sécurité
    • Chapitre 2 - Les différents packagings et leur déploiement
      • Rappel des modes de packaging
      • Déploiement au sein d’un conteneur de servlets
      • Création et déploiement d’une image Docker
      • Création et exécution d’une application native avec GraalVM

Formateur / Formatrice

Eric Siber
Eric Siber

Eric est développeur depuis 2003, après une formation d'ingénieur à Centrale Lille. Après un début de carrière en société de services informatique, il est passé indépendant en 2016.

Spécialisé sur la plateforme Java et l'écosystème Spring / Pivotal, il intervient pour ses clients en audit / conseil, en tant que formateur et en tant que développeur / expert / lead technique, mais également en tant que Scrum Master ou Coach Agile/Craft.

Eric notamment animé plusieurs cursus de formation longue de reconversion au métier de développeur lors desquelles il s'est fait une priorité de transmettre les bonnes pratiques du métier de développeur, méthodes pédagogiques orientées vers l'apprentissage par la pratique qu'il applique sur les formations HackYourJob.

Il a donné des formations en entreprises au travers d'autres organismes de formation. Il anime régulièrement des BBLs.