Atelier Environnement de développement : TP 1 – Initiation à Spring Boot
1/ Création du projet
Créer sous Eclipse un projet Spring Boot selon les spécifications suivantes :
- Nom : springdemo
- Groupe : edu.isetjb.l2dsi.envdev
- Package : edu.isetjb.l2dsi.envdev.springdemo
Les bons starters pour créer notre application web sont :
2/ Créer une page html de test dans le dossier static :
1. Clic droit sur le nœud du projet puis new > Other > HTML
2. Nommer le fichier « index.html »
3. Rajouter le message « Bonjour c’est ma première application Spring Boot » à la
page.
Déploiement et exécution
Sans STS :
1. Clic droit dans la classe principale
2. Choisir run as > java application
Depuis STS
1. Clic droit dans la racine du projet
2. Choisir run as > spring boot app
Test :
Taper, dans le navigateur, l’URL suivante : http://localhost:8080
Le port par défaut du serveur tomcat intégré est 8080
On peut modifier le numéro de port à l’aide du fichier de configuration
« applications.properties » du dossier src/main/ressources. Ouvrer ce fichier et ajoutez les
deux lignes suivantes :
#Tomcat Configuration
Server.port=8001
3/ Structurer et configurer notre projet
Malgré qu’on ne connaît pas encore les classes qui seront produites, on peut définir nos
packages et leurs dépendances en recourant aux bonnes pratiques.
Premièrement, gardons à l’esprit que notre projet est un projet web (Spring Boot est
particulièrement utilisé dans le contexte d’application web, mais ça ne se limite pas à cela).
Deuxièmement, la majorité des applications ont la nécessité d'interagir avec des données
externes (par exemple une base de données, un autre programme, ou même le système
de fichiers).
De ces différents besoins, une architecture en couches a émergé, avec un rôle pour chaque
couche :
couche Controller : gestion des interactions entre l’utilisateur de l’application et
l’application ;
couche Service : implémentation des traitements métiers spécifiques à l’application
;
couche Repository : interaction avec les sources de données externes ;
couche Model : implémentation des objets métiers qui seront manipulés par les
autres couches.
Représentation visuelle de l’architecture en couches
Le sujet ici étant de gérer des employés.
Notre application Web est minimale. On se contentera d’offrir un CRUD (Create, Read,
Update, Delete) pour les données des employés.
Il nous faut maintenant :
Structurer avec des packages, comme nous l’avons illustré dessus
Créez des packages
Certainement le plus facile de cet exercice, voici tout simplement le résultat avec une
capture d’écran :
Arborescence des packages du projet
4/ Création des classes du model et du repository (dal)
Créer la classe Employe avec les deux attributs matricule (int) et nom ainsi que
l’annotation adéquate (@Entity). Ajouter aussi à cette classe l’annotation @Table.
Créer l’interface EmployeRepository qui étend l’interface JPARepository. Doter cette
interface de l’annotation adéquate.
5/ Configurer notre application. En particulier pour l’utilisation de la base de
données H2
Configurer l’accès à la base de données
La méthode la plus facile pour configurer une base de données H2 est d’utiliser le fichier
de configuration « applications.properties », comme le montre l’exemple suivant :
#Tomcat Configuration
Server.port=8001
#H2 Configuration
spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:demodb
Concernant la console H2, une fois l’application démarrée, vous pouvez aller sur l’URL
“http://localhost:8080/h2-console”. Une fenêtre de login s’ouvre, et il est nécessaire
d’indiquer l’URL Jdbc.
Fenêtre de login de la console web H2
Le username par défaut est bien “sa”, et le password par défaut est vide. Cliquer le bouton
« Connect ».
Une fois connecté, vous pouvez consulter le contenu de votre table :
Affichage de la table Employees au sein de la console H2
Cependant, avec un comportement par défaut impliquant zéro configuration on doit pour
activer la console de visualisation copier l’URL Jdbc qui change à chaque démarrage de
l’application. (Dans votre console, vous aurez une ligne qui doit ressembler à la suivante :
“H2 console available at '/h2-console'. Database available at
'jdbc:h2:mem:b59feadd-5612-45fe-bd1c-3b62db66ea8a'”.)
Récupérez l’URL JDBC (en l'occurrence jdbc:h2:mem:b59feadd-5612-45fe-bd1c-
3b62db66ea8a'), puis le coller dans la zone de texte correspondante de la console.
Insérer à l’aide du h2-console des enregistrements dans la table Employe.