Spring
TP
P. Dev – Spring MAJ 2021 | F. JAIDI 1
En se basant sur le TP précédent:
Créer les Rest Controller.
Installer l’outil Postman
Tester en utilisant Postman les différentes méthdoes
Le compte rendu doit contenir le code source et les résultats des
tests avec Postman
1. Créer et configurer un Projet Spring Boot:
Maven /Jar / gérer par: [Link] / livrable nommé : tp7-groupeX-
numN / nom du projet : tp7-spring-boot-data-web
Version du Java 1.8
Dépendances: MySQL Driver / Spring Data JPA / Spring Web / Spring
Boot DevTools / Lombok [facultatif] /
2. Analyser le diagramme de classes suivant et créer les :
entités
associations
repositories
services ( à développer les méthodes décrites dans la page suivante)
3. Règles à respecter :
Le démarrage de l’application devra invoquer la création du schéma de
la base de données.
Le lancement des Web Services devra alimenter la base de données
Une bonne qualité du code est nécessaire.
4. Configurer Log4j et activer la journalisation.
5. Utiliser la classe de teste pour tester vos services.
6. Un exemple de la classe « [Link] » à utiliser
ServiceEntreprise
• méthodes CRUD
• public int ajouterEntreprise(Entreprise entreprise)
• public void deleteEntrepriseById(int entrepriseId)
• public Entreprise getEntrepriseById(int entrepriseId)
• public int ajouterDepartement(Departement dep)
• public void affecterDepartementAEntreprise(int depId, int entrepriseId)
• public List<String> getAllDepartementsNamesByEntreprise(int entrepriseId)
• public void deleteDepartementById(int depId)
ServiceEmployé
• méthodes CRUD
• public Employe authenticate(String login, String password) ;
• public void mettreAjourEmailByEmployeId(String email, int employeId);
• public void affecterEmployeADepartement(int employeId, int depId);
• public void desaffecterEmployeDuDepartement(int employeId, int depId);
• public String getEmployePrenomById(int employeId);
• public void deleteEmployeById(int employeId);
• public int getNombreEmployeJPQL();
• public List<String> getAllEmployeNamesJPQL();
• public List<Employe> getAllEmployeByEntreprise(Entreprise entreprise);
• public void mettreAjourEmailByEmployeIdJPQL(String email, int employeId);
• public float getSalaireByEmployeIdJPQL(int employeId);
• public Double getSalaireMoyenByDepartementId(int departementId);
• public List<Employe> getAllEmployes();
• int addOrUpdateEmploye(Employe employe);
ServiceDépartement
• méthodes CRUD
[Link]
• #Web configuration
• [Link]=/views/
• [Link]=.jsp
• #Server configuration
• [Link]-path=/SpringMVC
• [Link]=/servlet
•
• [Link]=8081
• ### DATABASE ###
• #[Link]-class-name=[Link]
• [Link]=jdbc:mysql://localhost:3306/BD
• [Link]=user
• [Link]=pwd
• ### JPA / HIBERNATE ###
• [Link]-sql=true
• [Link]-auto=update
• [Link]=[Link].MySQL5InnoDBDialect
• #logging configuration
• [Link]=warn
• [Link]=warn
• [Link]=C:\\logs\\[Link]
• [Link]=info
• [Link]=%d{yyyy-MM-dd HH:mm:ss} - %-5level - %logger{60} - %msg%n
• [Link]=%d{yyyy-MM-dd HH:mm:ss} - %-5level - %logger{60} - %msg%n
• Diagramme de classes