Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Architecture à Trois Niveaux | Notions de Base de Spring Boot
Backend Spring Boot
course content

Contenu du cours

Backend Spring Boot

Backend Spring Boot

1. Notions de Base du Développement Backend
2. Notions de Base de Spring Boot
3. API RESTful
4. Travailler avec des Bases de Données
5. Tester les Applications Backend

book
Architecture à Trois Niveaux

Cela est fait pour séparer la logique spécifique en différentes classes/packages, plutôt que de tout écrire dans une seule classe.

L'ordre dans lequel une requête est traitée est ControllerServiceRepository. Après cela, la réponse est retournée dans l'ordre inverse : Repository -> Service -> Controller. Nous commencerons l'implémentation avec la couche Repository.

Niveau du Référentiel

C'est la couche la plus basse, où nous recevons les données traitées de la couche Service et les stockons dans notre base de données.

Ces classes sont marquées avec l'annotation @Repository pour être ajoutées au contexte Spring.

java

Main

copy
1234
@Repository public class RepositoryLevel { // connect DB }

Exemple d'utilisation du dépôt

Niveau de Service

C'est ici que se déroule la logique centrale de l'application. Dans les services, nous traitons ou modifions les données avant de les transmettre à la couche de dépôt.

Pour les services, nous utilisons l'annotation @Service, qui déclare la classe comme un service contenant la logique métier.

java

Main

copy
1234567
@Service public class ServiceLevel { public void logic() { //TODO: write business logic } }

Exemple d'utilisation du service

Niveau du contrôleur

Cette couche gère l'interaction initiale entre le client et le serveur. Toutes les requêtes envoyées par le client arrivent ici, et elle est responsable de recevoir les données fournies par le client.

Elle traite les requêtes HTTP entrantes et renvoie des réponses HTTP. Les contrôleurs agissent comme un "pont" entre le client et la logique métier.

À ce niveau, il y a deux annotations utilisées pour désigner une classe comme un contrôleur :

  • @RestController: Déclare une classe comme un contrôleur REST, qui gère les requêtes HTTP et renvoie les données au format JSON;

  • @Controller: Déclare une classe comme un contrôleur MVC, qui gère les requêtes et renvoie des vues (par exemple, HTML).

java

Main

copy
12345678
@Controller public class ControllerLevel { @GetMapping("/root") public String getPage() { return "template"; } }

L'annotation @GetMapping spécifie l'URL pour une requête donnée. Cela signifie que nous ajoutons le chemin spécifié /root au domaine, et en retour, nous recevons la page correspondante.

Exemple d'utilisation du contrôleur

La dépendance Thymeleaf de la vidéo

Voici le lien vers la dépendance Thymeleaf dans le dépôt Maven.

Mais que se passe-t-il si vous ne suivez pas cette approche ?

Eh bien, techniquement, rien. Même si vous écrivez toute la logique métier dans le contrôleur, vous connectez à la base de données là-bas, et retournez la réponse au client depuis le même endroit, tout fonctionnera de la même manière.

Cependant, il est peu probable que vous vous souveniez de ce que vous avez écrit là après quelques semaines, car toute la logique de l'application sera en un seul endroit, ce qui est incroyablement peu pratique.

Résumé

L'architecture à trois niveaux offre une séparation claire des préoccupations entre les couches de controllers, services et repositories, rendant le processus de développement plus organisé et plus facile à maintenir.

Chaque couche se concentre sur sa tâche spécifique, ce qui simplifie à la fois le flux de travail et la gestion de projet.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5
We're sorry to hear that something went wrong. What happened?
some-alt