Zum Hauptinhalt springen

Spring Boot

In ChatGPT öffnen

Spring Boot ist eine beliebte Wahl zum Erstellen von Java-Anwendungen und bietet Dependency Injection, Auto-Konfiguration und ein eingebettetes Servermodell. Wenn Sie Spring Boot mit webforJ verwenden, können Sie Dienste, Repositories und andere von Spring verwaltete Beans direkt in Ihre UI-Komponenten über Konstruktorinjektion einfügen.

Wenn Sie Spring Boot mit webforJ verwenden, läuft Ihre Anwendung als ausführbare JAR mit einem eingebetteten Tomcat-Server, anstatt eine WAR-Datei auf einem externen Anwendungsserver bereitzustellen. Dieses Verpackungsmodell vereinfacht die Bereitstellung und orientiert sich an cloud-nativen Bereitstellungsmethoden. Das Komponentenmodell und die Routen von webforJ arbeiten neben dem Anwendungs-Kontext von Spring, um Abhängigkeiten und Konfiguration zu verwalten.

Erstellen einer Spring Boot-Anwendung

Sie haben zwei Optionen zum Erstellen einer neuen webforJ-Anwendung mit Spring Boot: die Verwendung des grafischen Tools startforJ oder der Maven-Befehlszeile.

Option 1: Verwendung von startforJ

Die einfachste Möglichkeit, eine neue webforJ-Anwendung zu erstellen, ist startforJ, das ein minimales Starterprojekt basierend auf einem gewählten webforJ-Archetyp generiert. Dieses Starterprojekt enthält alle erforderlichen Abhängigkeiten, Konfigurationsdateien und ein vorgefertigtes Layout, sodass Sie sofort darauf aufbauen können.

Wenn Sie eine Anwendung mit startforJ erstellen, können Sie sie anpassen, indem Sie die folgenden Informationen bereitstellen:

  • Basisprojekt-Metadaten (App-Name, Gruppen-ID, Artefakt-ID)
  • webforJ-Version und Java-Version
  • Farbthema und Symbol
  • Archetyp
  • Flavor - Wählen Sie webforJ Spring aus, um ein Spring Boot-Projekt zu erstellen

Mit diesen Informationen erstellt startforJ ein Grundprojekt aus Ihrem gewählten Archetyp, das für Spring Boot konfiguriert ist. Sie können Ihr Projekt als ZIP-Datei herunterladen oder direkt bei GitHub veröffentlichen.

Option 2: Verwendung der Befehlszeile

Wenn Sie die Befehlszeile bevorzugen, generieren Sie ein Spring Boot webforJ-Projekt direkt mit den offiziellen webforJ-Archetypen:

mvn -B archetype:generate \
-DarchetypeGroupId=com.webforj \
-DarchetypeArtifactId=webforj-archetype-hello-world \
-DarchetypeVersion=LATEST \
-DgroupId=org.example \
-DartifactId=my-app \
-Dversion=1.0-SNAPSHOT \
-Dflavor=webforj-spring

Der Parameter flavor weist das Archetyp an, ein Spring Boot-Projekt anstelle eines standardmäßigen webforJ-Projekts zu generieren.

Dies erstellt ein vollständiges Spring Boot-Projekt mit:

  • Spring Boot übergeordnete POM-Konfiguration
  • webforJ Spring Boot Starter-Abhängigkeit
  • Haupt-App-Klasse mit @SpringBootApplication und @Routify
  • Beispielansichten
  • Konfigurationsdateien sowohl für Spring als auch für webforJ

Führen Sie die Spring Boot-Anwendung aus

Ein Archetyp-Projekt setzt sein Standard-Maven-Ziel, sodass mvn ohne Argumente die Anwendung kompiliert, die Frontend-Überwachung startet und die Anwendung ausführt:

mvn

Die Anwendung startet standardmäßig mit einem eingebetteten Tomcat-Server auf Port 8080. Ihre bestehenden webforJ-Ansichten und -Routen funktionieren genau wie zuvor, aber jetzt können Sie Spring-Beans injizieren und Spring-Funktionen nutzen.

Konfiguration

Verwenden Sie die Datei application.properties in src/main/resources, um Ihre Anwendung zu konfigurieren. Weitere Informationen zu webforJ-Konfigurationsparametern finden Sie unter Property Configuration.

Die folgenden webforJ application.properties-Einstellungen sind spezifisch für Spring:

EigenschaftTypBeschreibungStandard
webforj.servlet-mappingStringURL-Zuordnungs-Muster für das webforJ-Servlet./*
webforj.exclude-urlsListeURL-Muster, die nicht von webforJ behandelt werden sollen, wenn sie im Stammverzeichnis zugeordnet sind. Wenn webforJ im Stammkontext (/*) zugeordnet ist, werden diese URL-Muster von der Verarbeitung durch webforJ ausgeschlossen und können stattdessen von Spring MVC-Controllern behandelt werden. Dadurch können REST-Endpunkte und andere Spring MVC-Zuordnungen mit webforJ-Routen koexistieren.[]

Konfigurationsunterschiede

Wenn Sie zu Spring Boot wechseln, ändern sich mehrere Konfigurationsaspekte:

AspektStandard webforJSpring Boot webforJ
VerpackungWAR-DateiAusführbare JAR
ServerExtern (Jetty, Tomcat)Eingebetteter Tomcat
Ausführungsbefehlmvn jetty:runmvn spring-boot:run
HauptkonfigurationNur webforj.confapplication.properties + webforj.conf
Profilewebforj-dev.conf, webforj-prod.confSpring-Profile mit application-{profil}.properties
PortkonfigurationIn der Plugin-Konfigurationserver.port in den Eigenschaften