Einführung
In diesem Projekt lernst du, wie du eine Spring Boot-Anwendung mit einer YAML-Datei konfigurierst, eine Klasse implementierst, um die Konfigurationsdaten zu verarbeiten, und einen Controller erstellst, um die konfigurierten Informationen auf einer Webseite anzuzeigen.
👀 Vorschau

🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du die Anwendungs-Eigenschaften mit einer YAML-Datei konfigurierst
- Wie du eine
Student-Klasse implementierst, um die Konfigurationsdaten zu verarbeiten - Wie du einen
StudentControllererstellst, um die konfigurierten Daten auf einer Webseite anzuzeigen - Wie du die Startklasse modifizierst, um alle Klassen im Projekt-Paket zu scannen
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- YAML-Dateien für die Anwendungs-Konfiguration zu verwenden
- Die
@ConfigurationProperties-Annotation zu verwenden, um Konfigurationsdaten automatisch an eine Klasse zu binden - Die
@Value-Annotation zu verwenden, um Konfigurationswerte in einen Controller einzufügen - Die
@SpringBootApplication-Annotation zu verwenden, um die Komponente-Scanning zu konfigurieren - Eine einfache Webanwendung zu entwickeln, die die konfigurierten Daten anzeigt
Konfiguriere die YAML-Datei
In diesem Schritt lernst du, wie du die Anwendungs-Eigenschaften mit einer YAML-Datei konfigurierst. Folge den Schritten unten, um diesen Schritt abzuschließen:
- Navigiere zum Verzeichnis
src/main/resourcesin deinem Projekt. - Erstelle eine neue Datei mit dem Namen
application.yml. - Füge in der Datei
application.ymldie folgende Konfiguration hinzu:
## Self-defined properties
school: Stanford University
student:
id: 2024000103
name: Taylor Joy
age: 18
courseId: 100018, 321001, 458911
Diese YAML-Konfiguration definiert die Eigenschaft school und die Eigenschaften von student, einschließlich der Studenten-ID, des Namens, des Alters und der Kurs-IDs.
Implementiere die Student-Klasse
In diesem Schritt wirst du die Student-Klasse implementieren, um die Konfigurationsdaten zu verarbeiten.
- Navigiere zum Paket
org.labex.entityund erstelle eine neue Datei mit dem NamenStudent.java. - Füge in der Datei
Student.javafolgenden Code hinzu:
package org.labex.entity;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Arrays;
@Component
@ConfigurationProperties(prefix = "student")
public class Student {
private String id;
private String name;
private int age;
private int[] courseId;
@Override
public String toString() {
return "Student {id=" + id +
", name=" + name +
", age=" + age +
", course id=" + Arrays.toString(courseId) + "}";
}
// Getter und Setter
//...
}
In dieser Klasse verwenden wir die Annotations @Component und @ConfigurationProperties, um die Eigenschaften aus der application.yml-Datei automatisch an die entsprechenden Felder in der Student-Klasse zu binden.
Implementiere den StudentController
In diesem Schritt wirst du den StudentController implementieren, um die konfigurierten Daten anzuzeigen.
- Navigiere zum Paket
org.labex.controllerund erstelle eine neue Datei mit dem NamenStudentController.java. - Füge in der Datei
StudentController.javafolgenden Code hinzu:
package org.labex.controller;
import org.labex.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class StudentController {
@Value("${school}")
private String school;
@Autowired
private Student student;
@GetMapping("/student")
public String getStudent() {
return "school=" + school + student.toString();
}
}
In diesem Controller verwenden wir die @Value-Annotation, um die school-Eigenschaft einzufügen, und die @Autowired-Annotation, um das Student-Objekt einzufügen. Die getStudent()-Methode wird die konfigurierten Daten im Browser anzeigen, wenn über den Endpunkt /student zugegriffen wird.
Ändere die Startklasse
In diesem Schritt wirst du die Startklasse ändern, um alle Klassen im Paket org.labex zu scannen.
- Navigiere zum Paket
org.labex.springbootyamlund öffne die DateiDemoApplication.java. - Aktualisiere die Klasse
DemoApplicationwie folgt:
package org.labex.springbootyaml;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages="org.labex")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Indem wir scanBasePackages="org.labex" zur @SpringBootApplication-Annotation hinzufügen, gewährleisten wir, dass alle Klassen im Paket org.labex vom Spring-Kontext gescannt und verwaltet werden.
Verpacke und starte die Anwendung
In diesem letzten Schritt wirst du die Anwendung in eine JAR-Datei verpacken und den Spring Boot-Dienst starten.
- Öffne ein Terminal und navigiere mit dem folgenden Befehl zum Stammverzeichnis deines Projekts:
cd ~/project/springbootyaml/
- Führe die folgenden Befehle aus, um die Anwendung zu verpacken und den Spring Boot-Dienst zu starten:
mvn clean package
mvn spring-boot:run
- Wenn der Dienst läuft, öffne einen Webbrowser und navigiere zu
http://localhost:8080/student. Du solltest die konfigurierten Schul- und Studenteninformationen auf der Seite sehen.
Die Ausgabe sollte so aussehen:

Herzlichen Glückwunsch! Du hast das Projekt erfolgreich abgeschlossen, indem du die Anwendung mit einer YAML-Datei konfiguriert hast, die erforderlichen Klassen implementiert hast und den Spring Boot-Dienst ausgeführt hast.
Zusammenfassung
Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.



