LU07a - Spring & Spring Boot

Einführung

Spring und Spring Boot bieten eine Menge gebräuchlicher Funktionen an, welche in herkömmlichen Java manuell implementiert werden müssen. In der nachfolgenden Tabelle sind einige Beispiele gelistet inklusive einer Alternative in herkömmlichen Java.

Use Case Beispiel in Plain Java Spring Spring Boot
Konfigurationen Manuelle Implementation mit Properties

Annotations:

@Configuration
@PropertySource("classpath:application.properties")
...
@Value("${jakarta.persistence.jdbc.user}") 

Automatische Erkennung von application.properties

 @Value("${jakarta.persistence.jdbc.user}")
Datenbankanbindung Implementation mit JDBC, JPA/Hibernate Templates org.springframework.jdbc, um Hibernate einfacher zu nutzen Zusätzlich org.springframework.data.jpa.repository.JpaRepository, um einfach Entitäten zu mappen.
Logging SLF4J Eigene SLF4J-Bindings, einfache Konfiguration SLF4J automatisch vorkonfiguriert, out-of-the-box
REST-API Javalin - Umfassendes Framework mit vielen fixfertigen Funktionalitäten.

Beispielprojekt

Erstellen Sie ein Fork-Repository von https://github.com/bzz-templates-java/ffit-lu07-club-accounting-app mit allen Branches (Häkchen gemäss Screenshot entfernen).

Anschliessend können Sie Ihr eigenes Repository klonen und via Gradle starten. In der Grundversion ist erst eine GET-API implementiert: http://localhost:8080/api/hello

git clone git@github.com:<GITHUB_USERNAME>/ffit-lu07-club-accounting-app.git
cd ffit-lu07-club-accounting-app/
./gradlew bootRun

Sobald der Start via Konsole geklappt hat, können Sie die Ausführung mittels „Ctrl + C“ wieder beenden. Öffnen Sie anschliessend das Projekt in Ihrer IDE und starten Sie es mit dieser, um sicherzugehen, dass Ihre IDE das Gradle-Projekt korrekt erkannt hat und verwenden kann.