Quelles sont les couches architecturales d'une application Spring Boot + React + MySQL ?
P粉346326040
P粉346326040 2024-04-03 10:07:06
0
1
558

J'essaie d'écrire de la documentation sur l'application mais je ne sais pas comment décrire l'architecture.

Sur la base des recherches que j'ai effectuées, je pensais que la couche de présentation était mon application React, la couche métier/application était l'application Spring Boot et la couche de données était MySQL.

Cela m'a semblé logique, mais je suis tombé sur ce tutoriel

https://www.youtube.com/watch?v=xJC7ItRoEbw&ab_channel=Amigoscode

Il dit vers 10h38 que les contrôleurs font partie de la couche présentation, ce qui ne semble pas se connecter à ce que je connais déjà.

Il existe un autre tutoriel https://www.youtube.com/watch?v=udzBtJv2uls&ab_channel=Izenda qui exprime mes premières réflexions.

De plus, je sais que les applications Spring Boot ont plusieurs couches de contrôles, de services et de référentiels (ou dao), donc je souhaite combiner toutes ces informations, mais je ne sais pas si je vais écrire quelque chose de gros si c'est le cas. un bug

Pouvez-vous m'expliquer cela en fonction de mon projet ? Sur le front-end, j'ai une application React qui envoie des requêtes get à un contrôleur typique, qui appelle une méthode de service qui appelle une méthode de référentiel qui communique avec la base de données et exécute la requête.

P粉346326040
P粉346326040

répondre à tous(1)
P粉288069045

Dans la vidéo, le présentateur est très informel et il utilise les calques et les calques de manière interchangeable. Beaucoup de gens font cela, il faut comprendre l'intention du contexte.

Pour moi, les niveaux signifient généralement une distribution sur différentes machines. Le code React dans MySQL, l'application Springboot et le navigateur client s'exécutent généralement tous sur des machines différentes, ce sont donc des couches différentes.

Mais le terme « couche » n'implique pas une telle distribution, une application SpringBoot peut avoir une couche de contrôleur Web, une couche de service et une couche d'accès aux données qui font toutes partie du même artefact d'application. Ce terme est utilisé pour décrire la manière dont la logique au sein d’une application est organisée.

Spring a débuté en réponse à l'hypothèse populaire selon laquelle les applications devaient être construites en couches via des applications Web appelées serveurs ejb, hébergées sur des clusters séparés et communiquées sur le réseau. Les fondateurs de Spring ont fait une distinction entre les couches pour faciliter l'explication de leur approche. Le livre One on One de Rod Johnson, qui présente les idées principales du printemps, utilise cette formulation.

La question de savoir si le contrôleur fait partie de la couche de présentation est discutable. Pour moi, la présentation signifie l'apparence, avec des contrôleurs effectuant des actions spécifiques au Web comme l'exposition des points de terminaison, la validation des paramètres, etc., mais surtout dans SPA, la présentation est dans le code frontal, tandis que le côté serveur ne sert que les données. Avant le contrôleur SPA, le contrôleur était redirigé vers la vue qui rendait le code HTML sur le serveur, de sorte que le contrôleur et la présentation étaient plus étroitement liés.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal