0% ont trouvé ce document utile (0 vote)
29 vues33 pages

Introduction à Spring Boot et Maven

Le document présente une formation sur Spring Boot et Maven, en détaillant les définitions, avantages et étapes de construction de projets. Spring Boot simplifie le développement d'applications en réduisant le temps de configuration et en intégrant des serveurs embarqués, tandis que Maven facilite la gestion des dépendances et l'automatisation des builds. Le cours inclut également des exercices pratiques pour créer un projet Spring Boot et utiliser Maven.

Transféré par

emma
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues33 pages

Introduction à Spring Boot et Maven

Le document présente une formation sur Spring Boot et Maven, en détaillant les définitions, avantages et étapes de construction de projets. Spring Boot simplifie le développement d'applications en réduisant le temps de configuration et en intégrant des serveurs embarqués, tandis que Maven facilite la gestion des dépendances et l'automatisation des builds. Le cours inclut également des exercices pratiques pour créer un projet Spring Boot et utiliser Maven.

Transféré par

emma
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

SPRING BOOT - MAVEN

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 1


Plan du Cours

– Définition Spring Boot

– Avantages Spring Boot

– Définition Maven

– Etapes de construction de projet

– Arborescence du projet

– Gestion et portée des dépendances

– TP Spring Boot
© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 2
SPRING BOOT

• Spring Boot est le projet principal de Spring : [Link]

• Il simplifie le démarrage et le développement de nouvelles applications


Spring.

• Il diminue énormément le temps de développement et augmente la


productivité.

• Spring Boot permet l’utilisation de conteneurs embarqués (embedded


containers) : web Server fourni par Spring Boot (comme Tomcat …).

• Avec Spring Boot, les configurations de Spring sont diminuées.

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 3


AVANTAGES SPRING BOOT

• Spring Boot offre trois avantages incontournables :

➢ La gestion des configurations


➢ Le serveur est embarqué
➢ La gestion des dépendances

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 4


AVANTAGES - Gestion des configurations

• Spring Boot facilite la gestion des configurations en centralisant les


configurations dans un seul fichier. Ainsi en se focalisant sur le métier au lieu
de la configuration, le développeur devient beaucoup plus productif.

Avant Spring Boot Avec Spring Boot

Un seul fichier [Link]


[Link]
[Link]
[Link]
[Link]
………….

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 5


AVANTAGES - Serveur Embarquée

• Spring Boot fournit des serveurs intégrés (Embedded HTTP servers) comme
Tomcat, Jetty .... afin de développer et de tester des applications web
facilement.
• En lançant le projet, le jar du Tomcat dézippe et se lance.

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 6


AVANTAGES - Gestion des dépendances

• Spring Boot facilite la gestion des dépendances pour commencer un projet


Spring.

Avant Spring et Spring Boot Avec Spring Boot

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 7


AVANTAGES - Gestion des dépendances

• Spring Boot facilite la gestion des dépendances grâce notamment à


l’utilisation des starters (une seule dépendance qui ramène toutes les
dépendances nécessaires).

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 8


AVANTAGES - Gestion des dépendances

• Un starter va apporter à votre projet un ensemble de dépendances,


communément utilisées pour un type de projet donné.
• Les starters facilitent la gestion des versions. Plus besoin de chercher quelles
versions sont compatibles afin de les ajouter une à une dans le [Link].

<parent>
<groupId>
[Link]
</groupId>
<artifactId>
spring-boot-starter-parent</artifactId>
<version>[Link]</version>
<relativePath/>
</parent>

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 9


AVANTAGES SPRING BOOT

Spring Boot peut s'expliquer simplement par l'illustration ci-dessous:

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 10


SPRING BOOT

• Comment démarrer un projet Spring Boot :

• Spring Boot fournit beaucoup de plugins afin de développer et


tester des applications Spring Boot rapidement en utilisant les
outils de Build comme Maven et Gradle.

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 11


DEFINITION MAVEN

Maven est un outil pour le faciliter la construction de projets (Build,


Dépendances, …) et l’automatisation des différentes phases projets (Tests,
Packaging, …). Maven permet donc :

▪ Gestion des builds (compilation)


▪ La gestion des dépendances (*.jar), se basant sur des conventions (POM)
▪ Lancement des tests (Unitaire, de Qualité de Code, …)
▪ Génération des livrables

=> Automatisation de tâches récurrentes => Intégration Continue (DevOps)

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 12


INSTALLATION DE MAVEN

• Maven peut être installé :

➢ 1- En mode Standalone
Exemple: Utiliser Maven dans
l’intégration continue
(domaine DevOps)

➢ 2- En tant que Plugin : Par défaut, Intellij intègre un plugin Maven

➢ Nous allons utiliser Maven en tant que Plugin.

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 13


INSTALLATION DE MAVEN
• En mode plugin (Maven est déjà installé) :
• Cliquer sur File => Settings => Plugins

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 14


PREMIER PROJET MAVEN

Un projet est caractérisé par :

• project : Balise racine de tous les fichiers [Link].


• modelVersion : Version de POM utilisée.
• groupId : Identifier un groupe qui a créé le projet. Ex: [Link].
• artifactId : Nom unique utilisé pour nommer l’artifact à construire.
• packaging : Type de packaging du projet ( ex. : JAR, WAR, EAR...).
• archetype : Template de Projet.
• name : Nom du projet.
• description : Description du projet.

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 15


GESTION DES VERSIONS DU PROJET
Exercice

Soit les versions du projet suivantes :


1.0.0
1.1.0
2.0.0
2.0.1
3.0.0

A quoi correspond chaque numérotation ?


Release majeure
Release mineure
Patch (Correctif)

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 16


ARBORESCENCE DU PROJET

• Maven est basé sur la notion de convention over


configuration (arborescence prédéfinie) ce qui le
différencie par rapport à ses concurrents (Gradle, Ant) où
une configuration supplémentaire est requise.

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 17


ARBORESCENCE DU PROJET

• [Link] : le fichier de configuration du projet


• /src : code source et fichiers source principaux
• /src/main/java : code source java
• /src/main/resources : fichiers de ressources (images, fichiers
config...)
• /src/main/webapp : webapp du projet
• /src/test : fichiers de test
• /src/test/java : code source Java de test
• /src/test/resources : fichiers de ressources de test
• /target : fichiers résultat, les binaires (du code et des tests), les
packages générés et les résultats des tests

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 18


Fichier [Link]
➢ Permet de spécifier les dépendances dont le projet a besoin.
➢ Spécifie l’emplacement de l’artefact du projet (groupId, ArtifactId,
version)
<project xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<modelVersion>4.0.0</modelVersion>
<groupId>[Link]</groupId>
<artifactId>springBootCourseProject</artifactId>
<version>1.0.0</version>
<name>springBootCourseProject</name>
<description>springBootCourseProject</description>
<dependencies><dependency>
<groupId>[Link].log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.14.0</version>
</dependency></dependencies>
</project>

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 19


Etapes de construction du projet

• 1 mvn compile : Créer les .class

• 2 mvn test : Jouer les tests unitaires

• 3 mvn package : Créer le livrable dans target.

• 4 mvn install : Copier le livrable dans le Repository local :


~\.m2\repository\...

• 5 mvn deploy : Copier le livrable sur le repository distant (Exemple : Nexus)

• mvn clean : Supprimer le contenu du dossier target.

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 20


Etapes de construction du projet

• Emplacement du livrable :
{emplacement Repository}/groupId/artifactId/version
• Nom du package (jar en général) : {artifactId}-{version}.{package}

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 21


Gestion des dépendances
Pour ajouter une dépendance, il suffit de chercher la dépendance en
question dans le mvnRepository ([Link] et l’inclure
dans le [Link] sous la balise <dependencies> comme suit (Spring Boot
fera cela à notre place):

<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 22


Gestion des dépendances

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 23


Dépôts Maven

• Maven s’appuie sur les dépôts (repositories) pour stocker les jars de
dépendances et des livrables.

• Il y a deux types de repositories :

➢ Local : Le dépôt local se trouve par défaut sous l’arborescence


%path_dossier_M2%\repository

➢ Remote (Distant) :
➢ Central : dépôt public Maven accessible via [Link]
ou
➢ Internal (Private) : dans les serveurs dédiés à l’entreprise ( pour des
raisons de sécurité)

• Les dépôts sont organisés en groupes, artefacts et versions


© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 24
TP - Spring Boot- Maven

• Nous allons dans ce TP créer notre premier projet Spring Boot.


• Nous allons découvrir les différentes commandes liées au cycle de
vie Maven et les appliquer sur le projet spring boot déjà créé.

• Ces commandes Maven seront appelées et utilisées implicitement


par Spring Boot, par la suite.

• Les étapes seront décrites dans les slides suivants :

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 25


TP - Spring Boot- Maven

• Création d’un projet Spring Boot avec IntelliJ :

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 26


TP - Spring Boot- Maven

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 27


TP - Spring Boot - Maven
• Choix de la version 3 stable de Spring Boot (3.5.0 par exemple) :

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 28


TP - Spring Boot - Maven
Choix des dépendances
nécessaires pour notre projet
Spring Boot tp-foyer :

• MySQL Driver
• Spring Data JPA
• Lombok
• Spring Web

Cliquer ensuite sur « Create »


Attendez le téléchargement
de toutes les dépendances
par Maven
(Une bonne connexion Internet
est nécessaire).
© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 29
TP - Spring Boot- Maven

• Ajouter les properties suivantes pour éviter les erreurs (Comme il y a la


dépendance Spring Data JPA, Spring Boot vérifiera s’il y a bien une base de
données de configurée) dans [Link] (PS : Le nom de la base de
données sera : db) :

# DB Configuration :
[Link]=jdbc:mysql://localhost:3306/db?createDatabaseIfNotExist=true
[Link]=root
[Link]=
[Link]-sql=true
[Link]-auto=update

# Web Server (Tomcat) configuration :


[Link]=8089
[Link]-path=/foyer

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 30


TP - Spring Boot- Maven
Tester les différents commandes maven (clean compile package install). Ne testez pas ni
le test (sera vu le 3eme jour) ni deploy (notion DevOps).

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 31


TP - Spring Boot- Maven
Démarrer votre application foyer-universitaire (cliquer sur le triangle vert, ou bouton droit
sur la classe principale FoyerUniversitaireApplication (WAMP ou XAMP doit être
démarré, car Spring va créer la base de données db) :

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 32


Suite de la Formation :

Prochaine Partie de la formation :

3- Spring Data JPA – Entités : Création de vos premières entités avec Spring

© 2025 – Mourad Hassini - Formation Spring – Spring Boot + Maven 33

Vous aimerez peut-être aussi