Aller au contenu

Projet Spring Boot et étapes

Voici comment vous pouvez écrire un programme en SpringBoot qui permet de gérer des livres avec des auteurs, des catégories et des éditeurs :

Vous êtes libres en ce qui concerne le choix des attributs des différentes entités.

  1. Créez un projet SpringBoot en utilisant le générateur de projets Spring Initializr. Choisissez les dépendances Web et JPA pour votre projet.
  2. Créez les entités Auteur, Categorie et Editeur en utilisant l’annotation @Entity pour indiquer qu’elles sont persistantes en base de données. Ajoutez les relations de navigation entre ces entités, en utilisant les annotations @ManyToOne et @OneToMany selon les cas.
  3. Créez l’entité Livre qui doit avoir des relations avec les entités Auteur, Categorie et Editeur. Ajoutez les champs nécessaires pour représenter ces relations, en utilisant les annotations de JPA appropriées.
  4. Créez les repositories AuteurRepository, CategorieRepository et EditeurRepository en étendant l’interface JpaRepository et en spécifiant l’entité et la clé primaire correspondantes.
  5. Créez le repository LivreRepository en étendant l’interface JpaRepository et en spécifiant l’entité Livre et la clé primaire correspondante. Ajoutez les méthodes de requête nécessaires pour récupérer les livres par auteur, catégorie ou éditeur.
  6. Créez les contrôleurs AuteurController, CategorieController et EditeurController en utilisant l’annotation @RestController et en injectant les repositories ou les services correspondants. Ajoutez les méthodes de contrôleur pour gérer les opérations de création, lecture, mise à jour et suppression des entités.
  7. Créez le contrôleur LivreController en utilisant l’annotation @RestController et en injectant le repository LivreRepository ou mieux, le LivreService. Ajoutez les méthodes de contrôleur pour gérer les opérations de création, lecture, mise à jour et suppression des livres, en utilisant les repositories des auteurs, catégories et éditeurs pour récupérer les entités associées.
  8. Lancez votre application SpringBoot et utilisez les contrôleurs pour gérer les livres, les auteurs, les catégories et les éditeurs. Vous pouvez utiliser un outil comme Postman ou tout simplement Swagger pour envoyer des requêtes HTTP.

Voici la suite du programme SpringBoot que je vous ai proposé précédemment :

spring.h2.console.enabled=true
spring.h2.console.path=/h2

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=create

Ajoutez une classe DataLoader qui implémente l’interface ApplicationRunner et qui sera exécutée au démarrage de l’application.

Dans la méthode run(), ajoutez du code pour créer des instances d’auteurs, de catégories et d’éditeurs, et pour créer des livres en utilisant ces entités. Sauvegardez ces instances en base de données en utilisant les repositories correspondants.

Lancez votre application SpringBoot et utilisez l’interface de l’API REST exposée par Spring Data REST pour gérer les livres, les auteurs, les catégories et les éditeurs. Vous pouvez utiliser Postman ou Swagger pour les requêtes HTTP.

Voici un extrait de la classe de lancement de SpringBoot :

import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication implements ApplicationRunner {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

    @Override
    public void run(ApplicationArguments args) {
        // Créez des instances d'auteurs, de catégories et d'éditeurs, et créez des livres en utilisant ces entités.
        // Sauvegardez ces instances en base de données en utilisant les repositories correspondants.
    }
}

J’espère que ce programme SpringBoot vous aidera à comprendre comment gérer des livres avec des auteurs, des catégories et des éditeurs en utilisant l’API REST et Spring Data JPA.

Il n’y a pas de difficultés particulières. Ce TP permet de mettre en pratique les bases d’un projet Spring Boot pour bien entendu l’améliorer par la suite (sécurité, clean code,…)