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