3. Sommaire
●Partie 1 : Introduction à Spring Boot
●Partie 2 : Spring Data JPA
●Partie 3 : Spring Data REST
●Partie 4 : Spring Security
4. Partie 1
●C’est quoi Spring Boot ?
●Pourquoi doit-on utiliser Spring Boot ?
●Fonctionnalités de Spring Boot
●Cas d'utilisation
●Projets connexes
●Get started spring boot
6. C’est quoi Spring Boot ?
Spring Boot
●Spring Boot est un projet qui est construit au-dessus du framework Spring. Il offre un
moyen plus simple et plus rapide de configurer et d’exécuter des applications simples
basées sur le Web.
●C’est un module Spring qui fournit la fonction RAD (Rapid Application Development) au
Spring Framework.
●Il est utilisé pour créer une application autonome basée sur Spring que vous pouvez
simplement exécuter car elle nécessite une configuration Spring minimale.
●Spring Boot = Spring + Serveurs Web intégrés (Jetty, Tomcat) – Confguration XML des
Bean( et @Configuration)
8. Pourquoi utiliser Spring Boot ?
Spring est partout
Les bibliothèques flexibles de Spring sont approuvées par
les développeurs du monde entier. Spring offre chaque
jour de délicieuses expériences à des millions
d'utilisateurs finaux, qu'il s'agisse de la télévision en
streaming, des achats en ligne ou d'innombrables autres
solutions innovantes. Spring a également des
contributions de tous les grands noms de la technologie,
notamment Alibaba, Amazon, Google, Microsoft, etc.
9. Pourquoi utiliser Spring Boot ?
Spring est flexible
L'ensemble flexible et complet d'extensions et de
bibliothèques tierces de Spring permet aux développeurs
de créer presque toutes les applications imaginables.
Que vous créiez des microservices sécurisés, réactifs,
basés sur le cloud pour le Web, ou des flux de données de
streaming complexes pour l'entreprise, Spring a les outils
pour vous aider.
10. Pourquoi utiliser Spring Boot ?
Spring est productif
Spring Boot transforme votre approche de
programmation Java, rationalisant radicalement votre
expérience. Spring Boot combine des nécessités telles
qu'un contexte d'application, un serveur Web intégré
configuré automatiquement pour faire du
développement de microservices un jeu d'enfant en un
temps record.
11. Pourquoi utiliser Spring Boot ?
Spring est rapide
Spring Boot aide les développeurs à créer des
applications facilement et avec beaucoup moins d'efforts
que d'autres paradigmes concurrents.
Les serveurs Web intégrés, la configuration
automatique et les « fat jars » vous aident à démarrer
rapidement, et des innovations telles que LiveReload
dans Spring DevTools permettent aux développeurs
d'itérer plus rapidement que jamais. Vous pouvez même
démarrer un nouveau projet Spring en quelques
secondes, avec Spring Initializr sur start.spring.io.
12. Pourquoi utiliser Spring Boot ?
Spring est sécurisé
Spring a fait ses preuves dans la gestion rapide et
responsable des problèmes de sécurité. Les committers
de Spring travaillent avec des professionnels de la
sécurité pour corriger et tester toutes les vulnérabilités
signalées. Les dépendances tierces sont également
surveillées de près et des mises à jour régulières sont
publiées pour aider à garder vos données et applications
aussi sûres que possible. De plus, Spring Security vous
permet de vous intégrer plus facilement aux systèmes de
sécurité standard de l'industrie et de fournir des solutions
fiables et sécurisées par défaut.
13. Pourquoi utiliser Spring Boot ?
Spring à une grande communauté
La communauté Spring est énorme, mondiale, diversifiée
et comprend des personnes de tous âges et de toutes
capacités, des débutants complets aux professionnels
chevronnés. Où que vous en soyez dans votre parcours,
vous pouvez trouver l'assistance et les ressources dont
vous avez besoin pour passer au niveau supérieur :
démarrages rapides, guides et didacticiels, vidéos,
meetups, assistance ou même formation et certification
formelles.
15. Fonctionnalités de Spring Boot
Spring Boot
●Il crée des applications Spring autonomes qui peuvent être démarrées en utilisant Java -jar.
●Il embarque différents serveurs HTTP tels que Tomcat, Jetty. Nous n’avons pas besoin de
déployer des fichiers WAR.
●Il fournit des 'starter' pour simplifier la construction de notre configuration.
●Configure automatiquement les bibliothèques Spring et tierces dans la mesure du possible.
●Il fournit des fonctionnalités prêtes à la production telles que metrics, health checks et la
configuration externalisée.
●Absolument aucune exigence de configuration XML.
19. Projets connexes
De la configuration à la sécurité, des applications Web au Big Data, quels que soient les
besoins d'infrastructure de votre application, il existe un projet Spring pour vous aider à la
créer. Commencez petit et utilisez uniquement ce dont vous avez besoin—Spring est de
conception modulaire. voir ici
21. Installation de IntelliJ IDEA
Installation de IntelliJ IDEA Community Edition
IntelliJ IDEA est un IDE intelligent et tenant compte du contexte qui permet de travailler sur
toutes sortes d'applications en Java et dans d'autres langages de la JVM tels que Kotlin, Scala
et Groovy. De plus, IntelliJ IDEA vous aide à développer des applications web full-stack grâce
à ses puissants outils intégrés, à la prise en charge de JavaScript et de ses technologies
connexes et à la prise en charge avancée de frameworks populaires tels que Spring, Spring
Boot, Jakarta EE, Micronaut, Quarkus et Helidon.
●Installer JetBrains Toolbox App
●Ouvrir JetBrains Toolbox et installer IntelliJ IDEA Community Edition
22.
23. Installation de JDK 11
Installation de Java development kit 11
Le Java Development Kit (JDK) désigne un ensemble de bibliothèques logicielles de base du
langage de programmation Java, ainsi que les outils avec lesquels le code Java peut être
compilé, transformé en bytecode destiné à la machine virtuelle Java.
●Installer Liberica JDK
24. Get started spring boot
Objectif
Vous allez construire un classique
"Hello World!" point de terminaison
auquel n'importe quel navigateur
peut se connecter. Vous pouvez
même lui dire votre nom et il
répondra de manière plus amicale.
Prérequis
●An Integrated Developer
Environment (IDE) IntelliJ IDEA
●A Java™ Development Kit (JDK)
●Use start.spring.io
●tutoriel
26. Spring Data JPA
JPA
Spring Data JPA, qui fait partie de la grande famille Spring Data, facilite la mise en œuvre de
référentiels basés sur JPA. Ce module traite de la prise en charge améliorée des couches
d'accès aux données basées sur JPA. Il facilite la création d'applications alimentées par Spring
qui utilisent des technologies d'accès aux données.
Java Persistence API (JPA) est juste une spécification qui facilite le mappage objet-
relationnel pour gérer les données relationnelles dans les applications Java. Il fournit une
plate-forme pour travailler directement avec des objets au lieu d'utiliser des instructions SQL.
32. C’est quoi API REST ?
API REST
l’API ou Application Program Interface est, comme son nom l’indique, une interface servant
à communiquer entre deux ou plusieurs applications (appareils, services, etc.) distinctes. Elle
permet d’effectuer une requête spécifique et de recevoir une réponse, formulée sous un
format établi.
REST signifie Representational State Transfer (ou transfert d’état de représentation, en
français), et constitue un ensemble de normes, ou de lignes directrices architecturales qui
structurent la façon de communiquer les données entre votre application et le reste du
monde, ou entre différents composants de votre application.
33. C’est quoi API REST ?
Les verbes et les codes
Dans le protocole HTTP, il existe une dizaine de verbes (ou méthodes) qui représentent les
actions à effectuer sur les ressources. Les plus connus et utilisés sont GET, POST, PUT,
DELETE et PATCH.
En fonction du traitement de la requête, le serveur répondra avec un code HTTP différent. Il
existe 5 grandes familles de code HTTP :
●1XX : information
●2XX : succès
●3XX : redirection
●4XX : erreur côté client
●5XX : erreur côté serveur
36. Spring Data Rest
Spring Data Rest
L’objectif principal est de simplifier autant que possible l’exposition d’une ressource grâce à
l’utilisation de l’API REST.
Spring Data REST s'appuie sur les Spring Data repository, analyse les entités de votre
application et expose les ressources HTTP hypermédia.
Pour créer le endpoint ainsi que les différentes méthodes HTTP de l’API, Spring Data REST
s’appuie sur les principes du REST et du HATEOAS ( Hypermédia le moteur d’état de l’
application ), un principe qui introduit tout simplement des transitions possibles entre les
différents états d’une même ressource, ainsi qu’entre les ressources elles-mêmes afin de
faciliter l’utilisation de l’API.
39. Les projections
Projections
Spring Data REST présente une vue par défaut du modèle de domaine que vous exportez.
Cependant, vous devrez parfois modifier la vue de ce modèle pour diverses raisons. Cette
section explique comment définir des projections et des extraits pour proposer des vues
simplifiées et réduites des ressources.
41. Les validations
Validations
La validation est une exigence commune à tous les services. Elle permet de vérifier les
éléments de données qui arrivent dans notre application à partir de sources externes et
vérifier si leurs valeurs sont acceptables.
Ex: Lorsque nous recevons une demande de création d'un utilisateur, nous devons valider son
contenu. S'il n'est pas valide, nous devons renvoyer une réponse appropriée.
42. Partie 4
●C’est quoi une authentification ?
●C’est quoi une autorisation ?
●C’est quoi Spring Security ?
44. C’est quoi une authentification ?
authentification
L'authentification permet de s’assurer que l’utilisateur dispose des bonnes informations pour
prouver qu’il est bien la personne qu’il prétend être.
L’authentification par session (statfull) utilise des cookies pour stocker les informations de
l’utilisateur de la session. Ces cookies sont eux-mêmes stockés dans le navigateur de
l’utilisateur, et sur le serveur d’autorisation.
L’authentification par token(statless) utilise un JWT transmis par le serveur d’autorisation.
Ce JWT est utilisé pour valider la connexion de l’utilisateur, et peut être stocké directement
dans le navigateur, mais il est préférable qu’il soit stocké dans un httpOnly cookie.
46. C’est quoi une autorisation ?
autorisation
L’autorisation permet de s’assurer que l’utilisateur authentifié se rend uniquement sur les
pages qu’il est autorisé à consulter.
48. C’est quoi Spring Security ?
Spring Security
Spring Security est un framework garantissant une solution facile d’utilisation pour les
applications Java, en particulier avec Spring Boot. Il permet de configurer Spring pour
prévenir les attaques en ayant recours à très peu, voire à aucune configuration.
51. Source
Liens
●Spring Data REST Reference Guide
●How does orphanRemoval work with JPA and Hibernate
●Spring Boot Tutorials
●http://github.com/spring-projects
●https://docs.spring.io/spring-
boot/docs/current/reference/htmlsingle/
●Spring Boot Tutorial
●Spring IO
●Créez une application Java avec Spring Boot