Siirry pääsisältöön

Spring Boot

Avaa ChatGPT:ssä

Spring Boot on suosittu valinta Java-sovellusten rakentamiseen, ja se tarjoaa riippuvuuksien injektoinnin, automaattisen konfiguroinnin ja upotetun palvelinmallin. Käyttäessäsi Spring Bootia webforJ:n kanssa voit injektoida palveluja, tietovarastoja ja muita Springin hallinnoimia komponentteja suoraan käyttöliittymäsovelluksiisi rakentajainjektion kautta.

Kun käytät Spring Bootia webforJ:n kanssa, sovelluksesi toimii suoritettavana JAR-tiedostona upotetulla Tomcat-palvelimella sen sijaan, että se julkaistaan WAR-tiedostona ulkoiseen sovellpalvelimeen. Tämä pakkausmalli yksinkertaistaa käyttöönottoprosessia ja vastaa pilviperusteisia käyttöönoton käytäntöjä. webforJ:n komponenttimalli ja reititys toimivat yhdessä Springin sovelluskontekstin kanssa riippuvuuksien ja konfiguroinnin hallitsemiseksi.

Luo Spring Boot -sovellus

Sinulla on kaksi vaihtoehtoa uuden webforJ-sovelluksen luomiseksi Spring Bootin kanssa: graafisen startforJ-työkalun käyttäminen tai Maven-komentorivin käyttö.

Vaihtoehto 1: Käyttäen startforJ:tä

Yksinkertaisin tapa luoda uusi webforJ-sovellus on startforJ, joka luo minimaalisen aloitusprojektin valitun webforJ-mallin perusteella. Tämä aloitusprojekti sisältää kaikki tarvittavat riippuvuudet, konfigurointitiedostot ja valmiin asettelun, joten voit aloittaa rakentamisen heti.

Kun luot sovellusta startforJ:n avulla, voit mukauttaa sitä antamalla seuraavat tiedot:

  • Perusprojektin metatiedot (Sovelluksen nimi, Ryhmä-ID, Artefakti-ID)
  • webforJ-versio ja Java-versio
  • Teeman väri ja ikoni
  • Malli
  • Maku - Valitse webforJ Spring luodaksesi Spring Boot -projektin

Tämän tiedon avulla startforJ luo perusprojektin valitsemastasi mallista, joka on konfiguroitu Spring Bootia varten. Voit valita ladataksesi projektisi ZIP-tiedostona tai julkaista sen suoraan GitHubiin.

Vaihtoehto 2: Käyttäen komentoriviä

Jos mieluummin käytät komentoriviä, voit luoda Spring Boot -webforJ-projektin suoraan käyttämällä virallisia webforJ-malleja:

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

flavor-parametri kertoo mallille, että se luo Spring Boot -projektin sen sijaan, että se luo standardin webforJ-projektin.

Tämä luo täydellisen Spring Boot -projektin, johon kuuluu:

  • Spring Boot -vanhemman POM-konfigurointi
  • webforJ Spring Boot -aloitusriippuvuus
  • Pääsovellusluokka, jossa on @SpringBootApplication ja @Routify
  • Esimerkkinäkymät
  • Konfigurointitiedostot sekä springiä että webforJ:tä varten

Lisää Spring Boot olemassa oleviin projekteihin

Jos sinulla on olemassa oleva webforJ-sovellus, voit lisätä Spring Bootin muokkaamalla projektin konfigurointia. Tämä prosessi sisältää Maven-konfiguraation päivittämisen, Spring-riippuvuuksien lisäämisen ja pääsovellusluokan muuntamisen.

Vain olemassa oleville projekteille

Ohita tämä osio, jos luot uuden projektin alusta alkaen.

Vaihe 1: Päivitä Maven-konfiguraatio

Tee seuraavat muutokset POM-tiedostoosi:

  1. Muuta pakkaus muotoon WAR JAR:iksi:

    pom.xml
    <packaging>jar</packaging>
  2. Aseta Spring Boot vanhempana POM:ina:

    pom.xml
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.5.3</version>
    <relativePath/>
    </parent>
  3. Poista kaikki WAR:iin liittyvä konfigurointi, kuten:

    • maven-war-plugin
    • webapp-hakemistoviittaukset
    • web.xml-liittyvä konfigurointi

Jos sinulla on jo vanhempi POM, sinun on tuontaa Spring Bootin materiaalien lista (BOM) sen sijaan:

pom.xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.5.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

Vaihe 2: Lisää Spring-riippuvuudet

Lisää webforJ Spring Boot -aloitus riippuvuudeksi. Pidä olemassa oleva webforJ-riippuvuus:

pom.xml
<dependencies>
<!-- Olemassa oleva webforJ-riippuvuus -->
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj</artifactId>
<version>${webforj.version}</version>
</dependency>

<!-- Lisää Spring Boot -aloitus -->
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-spring-boot-starter</artifactId>
<version>${webforj.version}</version>
</dependency>

<!-- Lisää devtools -->
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-spring-devtools</artifactId>
<optional>true</optional>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
webforJ DevTools automaattista selainpäivitystä varten

webforj-spring-devtools-riippuvuus laajentaa Spring DevToolsia automaattiseen selainpäivitykseen. Kun tallennat muutoksia IDE:ssäsi, selain latautuu automaattisesti uudelleen ilman manuaalista väliintuloa. Katso Spring DevTools -opas konfigurointitiedoista.

Vaihe 3: Päivitä build-liitännäiset

Korvaa Jetty-liitännäinen Spring Boot Maven -liitännäisellä. Poista olemassa oleva Jetty-konfigurointi ja lisää:

pom.xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludeDevtools>true</excludeDevtools>
</configuration>
</plugin>
</plugins>
</build>

Vaihe 4: Muunna sovellusluokkasi

Muuta pää App-luokkasi Spring Boot -sovellukseksi lisäämällä tarvittavat Spring-annotaatiot ja päämetodi:

Application.java
package com.example;

import com.webforj.App;
import com.webforj.annotation.Routify;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@Routify(packages = "com.example.views")
public class Application extends App {

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

// Pidä olemassa oleva run()-metodi, jos sellainen on
@Override
public void run() throws WebforjException {
// Olemassa oleva alustus koodi
}
}

@SpringBootApplication-annotaatio mahdollistaa Springin automaattisen konfiguroinnin ja komponenttien etsinnän. @Routify-annotaatio pysyy samana, ja se etsii näkymäpakettejasi reittejä varten.

Vaihe 5: Lisää Spring-konfigurointi

Luo application.properties tiedosto src/main/resources-hakemistoon:

application.properties
# Sovelluksen nimi
spring.application.name=Hello World Spring

# Palvelimen konfiguraatio
server.port=8080
server.shutdown=immediate

# webforJ DevTools konfigurointi
spring.devtools.livereload.enabled=false
webforj.devtools.livereload.enabled=true
webforj.devtools.livereload.static-resources-enabled=true

Olemassa oleva webforj.conf -tiedosto toimii yhä. Kohdista se pääluokkaasi:

webforj.conf
webforj.entry = org.example.Application

Suorita Spring Boot -sovellus

Kun konfigurointi on valmis, suorita sovelluksesi käyttäen:

mvn spring-boot:run

Sovellus käynnistyy upotetulla Tomcat-palvelimella portissa 8080 oletusarvoisesti. Olemassa olevat webforJ-näkymäsi ja reittisi toimivat täsmälleen kuten ennenkin, mutta nyt voit injektoida Spring-komponentteja ja käyttää Spring-ominaisuuksia.

Konfigurointierot

Kun vaihdat Spring Bootiin, useat konfigurointiasiat muuttuvat:

OminaisuusStandard webforJSpring Boot webforJ
PakkausWAR-tiedostoSuoritettava JAR
PalvelinUlkoinen (Jetty, Tomcat)Upotettu Tomcat
Suorita komentomvn jetty:runmvn spring-boot:run
Pääkonfigurointivain webforj.confwebforj.conf + application.properties
Profiilitwebforj-dev.conf, webforj-prod.confSpring-profiilit application-{profile}.properties avulla
Portin konfigurointiLiitännäiskonfiguraatiossaserver.port ominaisuusasetuksissa