Dieses Projekt ist eine Spring-Boot-basierte API mit integriertem Thymeleaf-Frontend.
Es stellt Formulare für Forschungsdaten, Artikel und Monographien für FRL bereit.
Die API dient dazu:
- strukturierte Formulare bereitzustellen
- Eingaben für Forschungsdaten, Artikel und Monographien zu erfassen
- eine Grundlage für die FRL-Erstellung zu liefern
- HTML-Formulare direkt über Spring/Thymeleaf zu rendern
Die App kombiniert REST-Logik mit serverseitig generierten HTML-Oberflächen.
Thymeleaf ist ein serverseitiges Java-Template-Engine für HTML.
Es verarbeitet HTML-Dateien und bindet dynamische Daten aus Spring Boot ein.
- dynamisches Rendern von HTML-Formularen
- Schleifen, Bedingungen, Validierungsfehler direkt im HTML
- einfache Kommunikation zwischen Spring-Backend und HTML
- kein separates JavaScript-Frontend notwendig
In dieser Anwendung werden damit alle Formulare für FRL erstellt und angezeigt.
- Java JDK (hier: JDK21)
- Maven
- Entwicklungsumgebung (z.B. Eclipse)
- Lombok (für automatische Getter/Setter/Builder)
Hinweis: Lombok muss in Eclipse installiert und aktiviert sein, damit die Annotationen korrekt erkannt werden.
- Eclipse öffnen
File→ImportMaven→Existing Maven Projects- Projektordner auswählen
Eclipse lädt die Dependencies automatisch.
Die Anwendung nutzt Spring Profiles, um zwischen Dev- und Prod-Umgebung zu unterscheiden.
-
application.properties
spring.profiles.active=dev -
pom.xml
Ganz unten im<build>-Block:<build> <finalName>forms-dev</finalName> </build>
-
application.properties
spring.profiles.active=prod -
pom.xml
Ganz unten im<build>-Block:<build> <finalName>forms</finalName> </build>
In der application.properties befinden sich Platzhalter, z. B.:
resource.example=${PATH_EXAMPLE}
Diese Werte werden nicht im Repository gepflegt, sondern zur Laufzeit über externe Properties-Dateien geladen, die sich auf den FRL-Servern befinden.
spring.config.import=optional:env-${spring.profiles.active}.properties
- Abhängig vom Profil werden eingebunden:
env-dev.propertiesenv-prod.properties
- Nachdem die gewünschte Umgebung (
devoderprod) und der Dateiname (forms-devoderforms) eingestellt wurde, kann die WAR-Datei erstellt werden mit:
mvn clean install
- Die erzeugte WAR-Datei befindet sich unter
/target/ - Dieser Befehl muss einmal für forms und einmal für forms-dev ausgeführt werden.
- Die erzeugten WAR-Dateien (
forms.warundforms-dev.war) können nun auf den Server hochgeladen und dort deployed werden.