Passer au contenu principal

Spring DevTools

Ouvrir dans ChatGPT

Spring DevTools fournit des redémarrages automatiques de l'application lorsque le code change. 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 des comportements de rechargement différents. Les changements de code Java provoquent un redémarrage complet de Spring et un rafraîchissement du navigateur. Les changements CSS et d'image se mettent à jour sans rechargement de page, préservant les données de formulaire et l'état de l'application.

Comprendre webforJ DevTools

webforJ étend Spring DevTools avec une synchronisation du navigateur. Lorsque Spring détecte des changements 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 de style sans rechargement de page
  • Images : Rafraîchissement sur place sans rechargement de 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 d'accès de l'endroit 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 : true)
webforj.devtools.livereload.static-resources-enabled=true

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

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

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