Formation Spring 5

  • Créer des applications Web avec Spring MVC

  • Créer des Web Api REST FULL

  • Mettre en oeuvre l’injection de dépendances avec Spring 5

  • Optimiser le paramétrage du conteneur léger de Spring 5

  • Accéder à vos données avec Spring JDBC et Spring ORM

  • Mettre en oeuvre la programmation par Aspect

  • Tester des applications Spring 5

  • Sécuriser vos applications avec Spring Security

Avoir les connaissances de base en Java et JEE


Programme de la formation Spring 5

Introduction

Origine et vision d'architecture de Spring

L'inversion de contrôle ou injection de dépendances

La Programmation Orientée Aspects (POA)

La programmation Reactive

Les nouveautées Spring 5

Annotations SpringJUnitConfig et SpringJunitWebConfig

Spring Core

Beans, Beans Factory et ApplicationContext

La notion de scope: singleton et proptotype

SpEL (Srping Expression Language)

L'injection de dépendances

Les annotations Core @Component, @ Autowird, @Qualifier, @Ressource...

Accès aux données avec JDBC et Hibernate 5

Classes abstraites pour le support DAO

Utilisation de JDBC via les APIs d'encapsulation Spring

DAO et infrastructure des template

Gestion des ressources

Alimenter hibernate via une base Postgresql

Configuration de SessionFactory dans le contexte d'application Spring

IoC : Hibernate Template et Hibernate Callback

Implémentation DAO avec les APIs Hibernate

Spring MVC

Architecture de Spring MVC

Configuration de Spring MVC aec Spring Boot

Les vues JSP et JSTL

L'API Bean validation et les exceptions

Internationalisation d'une application

Le Binding (one way, two ways)

Les annotations @Controller, @RestController, @GetMapping...

API REST avec Spring WebFlux

Le concept d'API REST

Mise en place d'une API REST

Le Cross Origin Shared Resource

Configurer HttpMessageConverter

Les annotations @ResponseStatus, @RequestMapping, @RequestBody, @ResponseBody...

Programmation réactive avec Spring Reactor

Présentation, Dépendances et Mise en place

Les Types Coeur : Mono et Flux

Threads, Scheduler

Gestion des erreurs, Debugging

Enregistrement de beans fonctionnels

Programmation Orientée Aspect(AOP)

Les concepts

La terminologie utilisée : aspect, joinpoint, advice, pointcut, introduction, target object, AOP proxy, weaving

Les différents types "advice" : around, before, throws, after

Les objectifs et fonctionnalités AOP de Spring

Intégration avec le framework AspectJ

Les annotations @Around, @Before, @After

Spring Security

Mise en place de Spring Security

Configurer l'auhtentification

Sécuriser les routes

Acces Control List (ACL)

Echanges de messages avec Spring Websocket

Théorie, design patterns, le principe pub/sub

Présentaton de STOMP et SockJS

Support et mécanismes de fallback

Mise en place côté serveur et côté client

Tests avec Spring 5

JUnit 5

Les tests unitaires

Profil de tests

Tests concurrents

Configurer SpringJUnitConfig et SpringJunitWebConfig

L'annotation @DirtiesContext

Packaging et déploiement avec Spring Boot

Application autonome et conteneur embarqué

Configurer une application Spring Boot

Le packaging d’application cloud ready

Construction d’une image Docker