Passer au contenu principal

Spring DevTools

Ouvrir dans ChatGPT

Spring DevTools fournit des redémarrages automatiques de l'application lors des modifications de code. webforJ DevTools ajoute un rafraîchissement automatique du navigateur - lorsque Spring redémarre votre application, le navigateur se rafraîchit automatiquement via le serveur LiveReload de webforJ.

Différents types de fichiers déclenchent différents comportements de rechargement. Les modifications du code Java provoquent un redémarrage complet de Spring et un rafraîchissement du navigateur. Les modifications CSS et d'images se mettent à jour sans rechargement de la page, préservant les données du formulaire et l'état de l'application.

Comprendre webforJ DevTools

webforJ étend Spring DevTools avec la synchronisation du navigateur. Lorsque Spring détecte des modifications de fichiers et redémarre, webforJ DevTools rafraîchit automatiquement votre navigateur.

Comportement de rechargement

Différents types de fichiers déclenchent différentes stratégies de rechargement :

  • Fichiers Java : Rechargement complet de la page du navigateur après le redémarrage de Spring
  • Fichiers JavaScript : Rechargement complet de la page du navigateur après le redémarrage de Spring
  • Fichiers CSS : Mises à jour du style sans rechargement de la page
  • Images : Rafraîchissement sur place sans rechargement de la page

Dépendances

Ajoutez à la fois Spring DevTools et webforJ DevTools à votre projet :

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

<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-spring-devtools</artifactId>
<version>${webforj.version}</version>
<optional>true</optional>
</dependency>

Configuration

Activez webforJ DevTools dans votre fichier application.properties :

application.properties
# Activer le rechargement automatique du navigateur webforJ
webforj.devtools.livereload.enabled=true

# Activer l'arrêt immédiat pour des redémarrages plus rapides
server.shutdown=immediate

Configuration avancée

Configurez la connexion WebSocket et le comportement de rechargement :

application.properties
# Port du serveur WebSocket (par défaut : 35730)
webforj.devtools.livereload.websocket-port=35730

# Chemin de point de terminaison WebSocket (par défaut : /webforj-devtools-ws)
webforj.devtools.livereload.websocket-path=/webforj-devtools-ws

# Intervalle de battement en millisecondes (par défaut : 30000)
webforj.devtools.livereload.heartbeat-interval=30000

# Activer le rechargement à chaud pour les ressources statiques (par défaut : vrai)
webforj.devtools.livereload.static-resources-enabled=true

25.03 Configurer l'ouverture du navigateur au démarrage de l'application :

application.properties
# Activer l'ouverture du navigateur (par défaut : faux)
webforj.devtools.browser.open=true

# localhost, nom d'hôte ou adresse IP (par défaut : localhost)
webforj.devtools.browser.host=localhost