Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Drei-Ebenen-Architektur | Spring Boot Grundlagen
Spring Boot Backend
course content

Kursinhalt

Spring Boot Backend

Spring Boot Backend

1. Grundlagen der Backend-Entwicklung
2. Spring Boot Grundlagen
3. RESTful API
4. Arbeiten mit Datenbanken
5. Testen von Backend-Anwendungen

book
Drei-Ebenen-Architektur

Dies wird getan, um spezifische Logik in verschiedene Klassen/Pakete zu trennen, anstatt alles in einer einzigen Klasse zu schreiben.

Die Reihenfolge, in der eine Anfrage verarbeitet wird, ist ControllerServiceRepository. Danach wird die Antwort in umgekehrter Reihenfolge zurückgegeben: Repository -> Service -> Controller. Wir beginnen die Implementierung mit der Repository-Schicht.

Repository-Ebene

Dies ist die niedrigste Schicht, in der wir verarbeitete Daten von der Service-Schicht erhalten und in unserer Datenbank speichern.

Diese Klassen sind mit der @Repository-Annotation markiert, um dem Spring-Kontext hinzugefügt zu werden.

java

Main

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

Beispiel für die Verwendung des Repository

Service-Ebene

Hier findet die Kernlogik der Anwendung statt. In Services verarbeiten oder modifizieren wir Daten, bevor wir sie an die Repository-Schicht weitergeben.

Für Services verwenden wir die @Service Annotation, die die Klasse als service deklariert, der die Geschäftslogik enthält.

java

Main

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

Beispiel für die Verwendung des Dienstes

Controller-Ebene

Diese Schicht behandelt die anfängliche Interaktion zwischen dem Client und dem Server. Alle Anfragen, die vom Client gesendet werden, kommen hier an, und sie ist verantwortlich für den Empfang der vom Client bereitgestellten Daten.

Sie verarbeitet eingehende HTTP-Anfragen und gibt HTTP-Antworten zurück. Controller fungieren als "Brücke" zwischen dem Client und der Geschäftslogik.

Auf dieser Ebene gibt es zwei Anmerkungen, die eine Klasse als Controller kennzeichnen:

  • @RestController: Deklariert eine Klasse als REST-Controller, der HTTP-Anfragen verarbeitet und Daten im JSON-Format zurückgibt;

  • @Controller: Deklariert eine Klasse als MVC-Controller, der Anfragen verarbeitet und Ansichten (z.B. HTML) zurückgibt.

java

Main

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

Die @GetMapping Annotation gibt die URL für eine gegebene Anfrage an. Das bedeutet, dass wir den angegebenen Pfad /root zur Domain hinzufügen und im Gegenzug die entsprechende Seite erhalten.

Beispiel für die Verwendung des Controllers

Die Thymeleaf-Abhängigkeit aus dem Video

Hier ist der Link zur Thymeleaf-Abhängigkeit im Maven-Repository.

Aber was passiert, wenn Sie diesen Ansatz nicht befolgen?

Nun, technisch gesehen, nichts. Selbst wenn Sie die gesamte Geschäftslogik im Controller schreiben, sich dort mit der Datenbank verbinden und die Antwort an den Client vom selben Ort aus zurückgeben, wird alles gleich funktionieren.

Allerdings werden Sie sich wahrscheinlich nicht daran erinnern, was Sie dort geschrieben haben, nach ein paar Wochen, weil die gesamte Anwendungslogik an einem Ort sein wird, was unglaublich unpraktisch ist.

Zusammenfassung

Die Drei-Schichten-Architektur bietet eine klare Trennung der Anliegen zwischen den Schichten von controllers, services und repositories, was den Entwicklungsprozess organisierter und leichter wartbar macht.

Jede Schicht konzentriert sich auf ihre spezifische Aufgabe, was sowohl den Arbeitsablauf als auch das Projektmanagement vereinfacht.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

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