Skip to content
Lektion undefined von undefined0/undefined abgeschlossen
Modul 1 — Getting Started

Getting Started — Spring Initializr & erste App

0 pts

Willkommen bei Spring Boot

Spring Boot ist das weltweit meistgenutzte Java-Framework für Microservices und Web-Anwendungen. Es eliminiert Boilerplate, bietet Auto-Konfiguration und lässt dich in Minuten eine produktionsbereite App starten.

Lektion 1: Was ist Spring Boot?

Spring Boot baut auf dem Spring Framework auf und fügt hinzu:

  • Auto-Konfiguration — Spring errät die Konfiguration anhand der Klassenpfad-Abhängigkeiten
  • Starters — spring-boot-starter-web zieht alles für Web-Apps
  • Embedded Server — Tomcat ist eingebettet, kein WAR-Deployment nötig
  • Produktions-Features — Health Checks, Metriken, externes Config via Actuator

Konvention über Konfiguration

Spring Boot folgt dem Prinzip "Convention over Configuration": Wenn spring-boot-starter-web im Klassenpfad ist, konfiguriert Spring automatisch einen eingebetteten Tomcat, einen DispatcherServlet und JSON-Serialisierung. Du musst nichts davon manuell einrichten.

Lektion 2: Spring Initializr

Das Spring Initializr generiert ein Projekt-Skeleton. Du wählst:

  • Build-Tool: Maven oder Gradle
  • Sprache: Java (wir nutzen Java 21)
  • Spring Boot Version: 3.x
  • Dependencies: z.B. Spring Web, Spring Data JPA

Das generierte Projekt hat diese Struktur:

src/main/java/com/example/demo/
  DemoApplication.java       ← @SpringBootApplication
src/main/resources/
  application.properties      ← Konfiguration
pom.xml                       ← Maven-Build-Datei

Lektion 3: Deine erste App

Die main-Methode startet Spring Boot:

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

Ein erster REST-Controller:

@RestController
@RequestMapping("/api")
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

Starte die App und öffne http://localhost:8080/api/hello.

Java Playground — Hello WorldBereit
Editor wird geladen…

Lektion 4: Auto-Konfiguration verstehen

Spring Boot's @EnableAutoConfiguration (enthalten in @SpringBootApplication) scant den Klassenpfad und registriert Beans automatisch:

Klassenpfad-DependenzAuto-Konfiguration
spring-boot-starter-webTomcat, DispatcherServlet, Jackson
spring-boot-starter-data-jpaDataSource, EntityManagerFactory, Repositories
spring-boot-starter-securitySecurityFilterChain, Default-Auth

Lektion 5: Konfiguration & application.properties

server.port=8080
spring.application.name=demo
spring.datasource.url=jdbc:h2:mem:testdb

Überschreibbar per Umgebungsvariable: SERVER_PORT=9090 java -jar app.jar.

Externe Konfiguration

Spring Boot lädt Konfiguration aus mehreren Quellen in einer festen Reihenfolge:

  1. Kommandozeilenargumente
  2. Umgebungsvariablen
  3. application.properties / application.yml
  4. Standardwerte im Code

Spätere Quellen überschreiben frühere. Das macht 12-Factor-Apps einfach.

Starters sind kuratierte Abhängigkeits-Bündel

Ein Starter wie spring-boot-starter-web zieht nicht eine Bibliothek, sondern einen ganzen Satz transitive Abhängigkeiten — alle getestet, versionskompatibel. Das eliminiert Dependency-Hell. Statt 15 einzelne JARs mit Versionskonflikten deklarierst du einen Starter und Spring Boot kümmert sich um den Rest.

Praxis-Szenario: Das erste Projekt

Dein Team soll eine REST-API für eine Todo-App bauen. Der Tech Lead sagt: 'Nutzt Spring Boot.' Du öffnest start.spring.io — welche Dependencies wählst du und wie strukturierst du das Projekt?

✅ Wichtige Erkenntnisse

Haken setzen, um deinen Lernfortschritt zu markieren:

    This site uses essential cookies for Stripe payments. No tracking cookies.