Aller au contenu principal

ASTON INSTITUT : 04. Spring : développer des applications d'entreprise

Durée

28 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

Tout au long de la formation, le formateur s'assure de la compréhension et de l'assimilation des concepts via des QCM et exercices. Après la formation : évaluation à chaud et à froid.

Prix

Inter
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
1234.8€ HT / personne
Intra
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
4939.2€ HT / groupe
4 stagiaires minimum

Public

Développeurs Java, architectes Java SE / Java EE, chefs de projets techniques…

Pré-requis

Avoir de bonnes connaissances du langage Java.

Objectifs pédagogiques

- Comprendre le fonctionnement de Spring et son positionnement dans les technologies Java 

- Savoir gérer la configuration des composants d’une application avec Spring. Implémenter un service d’accès aux données 

- Connaître les bonnes pratiques de développement avec Spring 

- Connaître les apports de la Programmation Orientée Aspect (AOP)

- Sécuriser l’application

Programme détaillé

Chapitre 1 : Spring Core 

  • Notion de conteneur léger. 
  • Spring et Maven 
  • Historique des versions 2, 3, 4, 5 
  • Description des différents modules de Spring.  
  • Définition de l'inversion de couplage (IoC) 
  • Injection de dépendance entre bean par constructeur/setter/attribut 
  • Gestion du cycle de vie d’un bean. 
    •  Qui fabrique nos beans Spring et quand ?
    • Notion de scope (singleton / prototype)
    • Mécanique d’instanciation 
    • Qui détruit nos beans Spring et quand ? 
  • Paramétrage des beans confiés à Spring à travers
    • XML
    • Les classes de configuration @Configuration 
  • @Service, @Repository, @Component, @Controler : Rôle et importance
  • Spring et JUnit 4 et 5 

Atelier pratique : Mise en pratique à travers de petits exercices simples mettant en relation des objets client <-> adresse. 

Chapitre 2 : Spring et la programmation oriente aspects (AOP) 

  • Présentation de la programmation orientée aspects.
  • Cas d’utilisation. Le jargon de l’AOP : Aspect, JoinPoint, Advice, Pointcut, Introduction, Target Class et Proxy.
  • La problématique des proxy
  • Quand s'exécute son aspect (@Before, @Arround, …)
  • L'expression de ciblage de AspectJ (*, ., ..) 

Atelier pratique : Mise en place d’un aspect de Log sur la couche des @Service. 

 

Chapitre 3 : SPRING ET L’ACCES AUX DONNEES 

  • Rappel sur le rôle de la DataSource dans un projet 
  • Configuration d’une datasource avec Spring. 
  • Spring et JDBC
    • Le JdbcTemplate
    • Le mapping manuel à travers RowMapper  
  • Spring et JPA 2 (via Hibernate)
    • Rappels et introduction sur la norme JPA
    • Les annotations Spring pour JPA
    • Les DAOs 
  • Principe des transactions : propriétés ACID.
  • Niveaux de propagation et d’isolation des transactions.
  • Les transactions gérées par annotations 

Atelier pratique : On reprend le projet réalisé lors de la formation JPA et on y inclue loC Spring. On le valide à travers les tests unitaires. 

Chapitre 4 : Spring data 

  • Présentation du module Spring Data en Spring 
  • Les DAO CRUD du Spring DATA
    • En JDBC 
    • En JPA
    • En MongoDB 
  • Ecrire ses propres requêtes
    • Via @Query
    • Via la reconnaissance des mots clefs dans les méthodes 
  • La nouveauté à travers le R2DBC
    • Enjeu de l'asynchrone, avantages et inconvénients
  • Présentation du Spring Data Rest ou comment réaliser des micros-services en quelques minutes 

Atelier pratique : On reprend le projet réalisé dans le chapitre précédent pour le passer en Spring Data JPA. 

Chapitre 5 : Focus sur Spring boot 

  • Historiques et versions
  • Mise en place de Spring Boot
    • La classe de configuration principale
    • Le fichier de configurations (properties/yaml) 
  • Apports et comparaison vis-à-vis des autres approches
  • Les annotations de bases
  • Les annotations conditionnelles
  • L'évolution de ses tests unitaires et utilisation du MockMVC et TestWebClient
  • Don't Outsmart Spring Boot : ou pourquoi on ne doit pas faire le malin avec les versions 

Atelier pratique : On reprend l'exercice réalisé dans le chapitre précédent réalisé en @Configuration pour le passer en Spring Boot. 

Chapitre 6 : Spring MVC 

  • Rappel sur ce qu'est un Web Service REST 
  • Norme JAX, JAXRS, JAXB 
  • Evolutions entre Spring 4 et Spring 5 
  • Le JSON via le framework Jackson 
  • Rappels :
    • HTTP
    • Commandes Get, Put, … 
    • Un web service REST
    • Problématique d’authentification
    • Problématique de documentation 
  • Annotations Spring MVC
  • Gestion des erreurs
  • HATEOAS
  • JUnit et le Spring MVC
  • Spring et Ajax 

Atelier pratique : On reprend le projet réalisé lors de la formation JSP-Servlet et on le transforme en projet Web Service REST. On valide l’ensemble via des tests unitaires sur la partie contrôleur Rest. 

Chapitre 7 : Spring security  

  • Sécurisation des URL et des appels de méthodes.
  • Le processus d'authentification.
  • Personnalisation du processus d'authentification pour un web service REST
    • JWT
    • Oauth2 
  • API : les annotations, les taglibs, la manipulation programmatique. 
  • Présentation de keycloak 

Atelier pratique : Mise en place de la sécurité par JWT sur l'exercice précédent. 

Chapitre 8 : Spring reactive presentation  

  • Les concepts de la programmation réactive : ou le tout asynchrone 
  • Les Mono et les Flux 
  • Le support de la programmation réactive avec Spring
    • Netty / Stream Adapters / WebFlux / Spring Data Reactive 
  • Le Reactive WebClient de Spring 

Atelier pratique : Migration de l'exercice précédent en Web Reactive 

 

Sessions

Filtrer les résultats
Modalités pédagogiques
Formation synchrone se déroulant avec la présence physique du (des) formateur(s) et du (des) apprenant(s) réunis dans un même lieu de formation.
Formation combinant des séquences en présentiel et des séquences à distance synchrones ou asynchrones.
Formation à distance, asynchrone, s’appuyant sur une plateforme d’apprentissage, pouvant être complétée par d’autres modalités de formation à distance (visio-conférence…)
Formation à distance, synchrone, s’appuyant sur un dispositif de visio-conférence. La classe virtuelle recrée à distance les conditions d’une formation en salle traditionnelle.
Type de formation
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
Options
Les compétences professionnelles visées par la formation sont validées via un test permettant d’obtenir une certification officielle.
Ces sessions ne peuvent être ni annulées ni reportées par l’organisme de formation.