Formation

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

En ligne - Sur demande

2000 €HT / personne

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.

  • 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’utilisation de STS (Spring Tool Suite) et Spring Boot

Spring est à l’innovation ce que Java EE est à 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.

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 5.2 / Spring Boot 2.2 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 :

  • être familiers de Spring
  • créer une application complète en utilisant Spring Boot
  • acquerir 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
  • Ê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

  • Module 1 : prise en main de Spring
    • 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
    • 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
    • Chapitre 5 - Alternatives (compléments) à la déclaration / configuration XML
      • Déclarations et injection par annotations
      • Déclarations en Java Config
    • Chapitre 6 - Spring et le standard Java EE
    • 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
  • Module 2 : Découverte de Spring Boot et accès aux données avec Spring
    • 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
    • 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
    • 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
  • Module 3 : Découverte Spring MVC et sécurisation d'une application Spring
    • 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é
      • Déploiement au sein d’un conteneur de servlets
    • Chapitre 4 - Configuration d’une application Spring MVC
      • DispatcherServlet
      • ContextLoaderListener
      • Notion de hiérarchie de contextes
    • Chapitre 5 - Création et affichage de vues
      • Mécanismes de résolution de vues
      • Bibliothèques de tags
      • Internationalisation
      • Les différentes technologies de rendu supportées
    • Chapitre 6 - Gestion de formulaires avec Spring MVC
      • Création de formulaire et binding pour exploitation de la saisie dans le contrôleur
    • Chapitre 7 - Spring Security
      • Authentification et autorisations
      • Mise en application des autorisations à tous les étages
      • Tests unitaires des aspects sécurité

Formateur

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.