Overslaan naar hoofdinhoud

Spring Boot

Openen in ChatGPT

In een Spring Boot-app levert de webforJ build-plugin de ontwikkelingshulpmiddelen voor ontwikkelingsuitvoeringen. Het project verklaart geen afhankelijkheid voor deze hulpmiddelen en ze zijn nooit onderdeel van de verpakte app.

Vereisten​

De starterafhankelijkheid en de build-plugin. Een project dat is gemaakt vanuit een archetype heeft beide.

pom.xml
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-spring-boot-starter</artifactId>
</dependency>
pom.xml
<plugin>
<groupId>com.webforj</groupId>
<artifactId>webforj-maven-plugin</artifactId>
<version>${webforj.version}</version>
<extensions>true</extensions>
</plugin>

Live reload inschakelen​

application.properties
webforj.devtools.livereload.enabled=true
server.shutdown=immediate

Start de app zoals gebruikelijk, mvn met Maven of ./gradlew bootRun met Gradle. Java-wijzigingen worden toegepast na een compilatie, stylesheet- en afbeeldingswijzigingen worden ter plekke toegepast, en bronnen onder src/main/frontend worden opnieuw opgebouwd via de frontend watch. De overige sleutels zijn vermeld in de instellingen.

Spring DevTools​

Spring DevTools is optioneel, live reload werkt er zonder. Om het herstartmodel te gebruiken, voeg je de afhankelijkheid toe:

pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

Met Spring DevTools aanwezig, herstart een gecompileerde wijziging de Spring-context en wordt de browser vernieuwd wanneer de herstart is voltooid. Met een hotswap-tool ook geconfigureerd, worden de klasse-updates toegepast en blijft de herstart uitgeschakeld.

Productiebouw​

mvn package en ./gradlew bootJar produceren een app zonder ontwikkelingshulpmiddelen, zonder dat uitsluiting, profiel of eigenschap vereist is. De eigenschap webforj.devtools.livereload.enabled heeft geen effect in een verpakte app.