Spring Boot

Vollständige Bereitstellungsanleitung für Spring Boot auf NStrim

Überblick

Spring Boot ist ein Java-Framework, das die Erstellung eigenständiger, produktionsreifer Anwendungen erleichtert. Es bietet Auto-Konfiguration, eingebettete Server und einen opinionated Ansatz zum Erstellen von REST-APIs und Webanwendungen.

Bevor Sie beginnen
Stellen Sie sicher, dass Ihr Dashboard geöffnet ist - Sie benötigen die dort angezeigten Git-Anmeldedaten. Diese Vorlage enthält Spring Web, Spring Data JPA, MySQL-Treiber und Thymeleaf-Templating.

Schnellstart

1

Repository aus Vorlage erstellen

Gehen Sie in Ihrem Dashboard zum Tab Tools & Deployment. Klicken Sie auf "New Repository", wählen Sie die Spring Boot-Vorlage aus dem Dropdown, geben Sie einen Repository-Namen und eine Subdomain ein und klicken Sie auf "Create Repository".

2

Ihr Repository klonen

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Datenbank konfigurieren

Aktualisieren Sie src/main/resources/application.properties mit Ihren Dashboard-Anmeldedaten:

spring.datasource.url=jdbc:mysql://db.<session-domain>:3306/<username>
spring.datasource.username=<username>
spring.datasource.password=<password>
4

Erstellen und Ausführen

./mvnw spring-boot:run

Der Server läuft standardmäßig auf http://localhost:8080.

5

Ihre Änderungen hochladen

git add .
git commit -m "Initial setup"
git push origin main
Jeder Push zu Git stellt Ihre Anwendung automatisch bereit. Überprüfen Sie Ihre Modul-Arbeits-URL im Dashboard, um Ihre Live-Site zu sehen.

Lokale Entwicklung mit Docker

Wenn Sie Java nicht lokal installiert haben, können Sie Docker verwenden, um Ihre Spring Boot-Anwendung zu erstellen und auszuführen.

Was ist Docker?
Docker erstellt isolierte "Container" mit der gesamten Software, die Sie benötigen (Java, Maven), ohne diese auf Ihrem Computer zu installieren.

Befehle mit Docker ausführen

# Projekt erstellen
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 ./mvnw clean package -DskipTests

# Anwendung ausführen
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/*.jar

Datenbank-Konfiguration

Die NStrim-Plattform stellt Ihnen eine MySQL/MariaDB-Datenbank zur Verfügung. Konfigurieren Sie Ihre application.properties-Datei mit den richtigen Anmeldedaten.

Vollständige Konfiguration

spring.datasource.url=jdbc:mysql://db.<session-domain>:3306/<username>
spring.datasource.username=<username>
spring.datasource.password=<password>
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Wichtig
Ihr Datenbankname und Benutzername sind in der Regel identisch mit Ihrem Dashboard-Benutzernamen (z.B. student01). Überprüfen Sie den Anmeldedaten-Bereich Ihres Dashboards für die genauen Werte.

Projektstruktur

├── src/
│   └── main/
│       ├── java/com/example/
│       │   ├── Application.java          # Spring Boot Einstiegspunkt
│       │   ├── controllers/              # REST-Controller
│       │   ├── models/                   # JPA-Entities
│       │   ├── repositories/             # Spring Data Repositories
│       │   └── services/                 # Geschäftslogik
│       └── resources/
│           ├── application.properties    # Konfiguration
│           ├── templates/                # Thymeleaf-Vorlagen
│           └── static/                   # CSS, JS, Bilder
├── pom.xml                               # Maven-Abhängigkeiten
└── Dockerfile                            # Docker-Konfiguration
        

Häufige Aufgaben

REST-Controller erstellen

@RestController
@RequestMapping("/api/users")
public class UserController {

    @GetMapping
    public List<User> getAll() {
        return userRepository.findAll();
    }

    @PostMapping
    public User create(@RequestBody User user) {
        return userRepository.save(user);
    }
}

JPA-Entity erstellen

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;
    private String email;

    // getters and setters
}

Repository erstellen

public interface UserRepository extends JpaRepository<User, Long> {
    Optional<User> findByEmail(String email);
}

Nützliche Befehle

./mvnw spring-boot:run Entwicklungsserver starten
./mvnw clean package Projekt erstellen
./mvnw test Tests ausführen
./mvnw dependency:tree Abhängigkeitsbaum anzeigen

Fehlerbehebung

Communications link failure / Connection refused

Ursache: Der Datenbank-Host ist falsch oder nicht erreichbar.

Lösung: Überprüfen Sie, ob spring.datasource.url mit dem Datenbank-Host aus Ihrem Dashboard übereinstimmt.

Access denied for user

Ursache: Falscher Benutzername oder Passwort.

Lösung: Überprüfen Sie, ob spring.datasource.username und spring.datasource.password genau mit Ihren Dashboard-Anmeldedaten übereinstimmen.

Port 8080 already in use

Lösung: Fügen Sie server.port=8081 zu application.properties hinzu oder beenden Sie den anderen Prozess.

Whitelabel Error Page (404)

Ursache: Kein Controller ist der angeforderten URL zugeordnet.

Lösung: Stellen Sie sicher, dass Ihr Controller die richtige @RequestMapping-Annotation hat und die Anwendung die richtigen Pakete scannt.

Bereitstellungs-Workflow

Code-Änderung git push mvn package Live!
Weitere Informationen finden Sie in der offiziellen Spring Boot Dokumentation.