Maven, Gradle & Spring
Echte Java-Projekte bestehen selten aus einer Datei. Build-Tools, Ordnerstrukturen und Frameworks geben dem Ganzen Halt — und nehmen dir viel Handarbeit ab.
Ansicht
01
Verstehen
Lies die Kernidee und das Beispiel.
02
Prüfen
Beantworte die Aktiv-Checks.
03
Anwenden
Setze die Transferaufgabe um.
Mini-Erfolg
Du weißt, wofür pom.xml, src/main und src/test da sind.
Warum das wichtig ist: Fast kein echtes Projekt besteht aus einer einzelnen Datei. Build-Tools und Frameworks ordnen das Chaos.
Vorher hilfreich
Lerninhalt
Verstehen & anwenden
Build-Tools
Maven und Gradle verwalten Abhängigkeiten, kompilieren, testen und paketieren dein Projekt.
Bei Maven steht die Konfiguration in pom.xml, bei Gradle in build.gradle(.kts). Du beschreibst, was du brauchst, und das Tool erledigt die Schritte.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.11.0</version>
<scope>test</scope>
</dependency>Projektstruktur
Produktionscode liegt unter src/main/java, Tests unter src/test/java.
Ressourcen wie Konfigurationsdateien liegen unter src/main/resources.
Pakete spiegeln oft die Ordnerstruktur. Ein sauberer Aufbau hilft dir und allen, die den Code später lesen.
mein-projekt/
pom.xml
src/
main/java/de/example/App.java
main/resources/application.properties
test/java/de/example/AppTest.javaSpring Boot und Datenbanken
Spring Boot ist ein Framework für Web-APIs und Anwendungen.
Es übernimmt viel Konfiguration und startet einen eingebetteten Server.
JDBC ist die Java-Schnittstelle zu relationalen Datenbanken. Für den Einstieg reicht: Du weißt, wofür beides da ist, und kannst später gezielt einsteigen.
@RestController
class HalloController {
@GetMapping("/hallo")
String hallo() {
return "Hallo Spring!";
}
}Vertiefung
Wie echte Projekte aufgebaut sind
Maven und Gradle lösen dasselbe Problem: Abhängigkeiten auflösen, kompilieren, testen und paketieren. Du beschreibst das Ergebnis, nicht jeden einzelnen Befehl.
Spring Boot ist ein Framework, kein Sprachfeature. Es lohnt sich erst, wenn du Klassen, Interfaces und Annotations sicher lesen kannst. Deshalb steht es hier am Ende des Aufbau-Levels.
mvn clean # Build-Verzeichnis löschen
mvn test # Tests ausführen
mvn package # JAR bauen
mvn spring-boot:run # Spring-App startenMerksatz: Build-Tools und Frameworks nehmen Boilerplate ab. Verstehe zuerst die Sprache, dann die Werkzeuge.
Übungsaufgabe
pom.xml ergänzen
Ergänze eine Maven-Datei um die JUnit-Abhängigkeit und beschreibe, was mvn test damit macht.
Das soll dein Programm können
- Eine dependency für junit-jupiter
- scope test setzen
- Die drei wichtigsten Maven-Phasen nennen
- Erklären, wo Tests liegen
Schreibe den Code hier oder in deiner IDE und vergleiche ihn dann mit der Lösung.
Dein Code wird automatisch auf diesem Gerät gespeichert.
Hinweis anzeigen
groupId: org.junit.jupiter, artifactId: junit-jupiter. Der Scope test sorgt dafür, dass die Bibliothek nicht ins Produktions-JAR wandert.
Lösung anzeigen
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>de.example</groupId>
<artifactId>lerntool</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.11.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>Warum funktioniert das?
mvn test lädt die Test-Abhängigkeit, kompiliert src/main und src/test und führt die JUnit-Tests aus. Erst danach lohnt sich mvn package.
Aktiv-Check
Teste dein Verständnis
Erkennen: Welcher Abschnitt passt?
Welcher Abschnitt passt zu diesen Begriffen?
Spaßprojekt
Mini-Projekt anlegen
Lege mit Maven ein Projekt an, das eine Klasse und einen Test enthält. Starte den Test über Maven.
Selbstcheck
Kann ich das schon?
Hake ab, was du wirklich erklären oder selbst bauen könntest.
Fortschritt
Bereit zum Abschließen?
Markiere die Lektion als abgeschlossen, um XP und Streak zu erhalten.