English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SpringBoot DevTools

Spring Boot DevTools

Spring Boot 1.3Fournit un module nommé Spring Boot DevTools. DevTools signifie Outils de développement L'objectif de ce module est de tenter de raccourcir le temps de développement lors de l'utilisation de l'application Spring Boot. Spring Boot DevTools accepte les modifications et redémarre l'application.

Nous pouvons réaliser DevTools dans notre projet en ajoutant les dépendances suivantes dans le fichier pom.xml.

<dependency>
<groupId>org.springframework.boot</groupId>/groupId>
<groupId>-boot-<artifactId>spring</artifactId>/<artifactId>devtools</artifactId>
<scope>runtime</scope>
</dependency>

Fonctionnalités de Spring Boot DevTools

Spring Boot DevTools offre les fonctionnalités suivantes:

Valeurs par défaut des propriétés Redémarrage automatique LiveReload Tunnel de débogage à distance Mise à jour et redémarrage à distance

Valeurs par défaut des propriétés: : Spring Boot propose des technologies de modèle Thymeleaf qui contient les propriétés spring.thymeleaf.cache.。Il met en cache et nous permet de mettre à jour les pages sans redémarrer l'application. Mais définir ces propriétés pendant le développement entraîne toujours certains problèmes.

Lorsque nous utilisons spring-boot-Lorsque le module devtools est utilisé, il n'est pas nécessaire de définir les propriétés. Il est automatiquement désactivé pendant le développement des caches de templates Thymeleaf, Freemarker, Groovy.

actualisation automatique. Si nous ne voulons pas appliquer les valeurs par défaut des propriétés à l'application, nous pouvons définir configprop: spring.devtools.add dans le fichier application.properties.-properties [] définis sur false.

Le redémarrage automatique: Le redémarrage automatique signifie le rechargement des classes Java et leur configuration côté serveur. Après les modifications côté serveur, il est déployé dynamiquement, le serveur redémarre et charge le code modifié. Il est principalement utilisé pour les applications basées sur des microservices. Spring Boot utilise deuxdu chargeur de classes de type

Les classes invariables (deux tiers) sont chargées dansle chargeur de classes de base. Les classes en cours de développement sont chargées dansDans le chargeur de classes de redémarrage.

Lorsque l'application redémarre, le chargeur de classes de redémarrage est jeté et remplacé par une nouvelle classe. Par conséquent, le chargeur de classes de base est toujours disponible et rempli.

Nous pouvons utiliser l'attribut spring.devtools.restart.enabled Défini comme Pour désactiver le redémarrage automatique du serveur. Erreur.

Rappelez-vous:

DevTools surveille toujours les ressources de la classepath. La seule méthode pour déclencher un redémarrage est de mettre à jour la classepath. DevTools nécessite un chargeur de classes d'application distinct pour fonctionner correctement. Par défaut, Maven dérive le processus d'application. Le redémarrage automatique avec LiveReload fonctionne bien ensemble. DevTools dépend de l'hook de fermeture du contexte de l'application pour le fermer pendant le redémarrage.

LiveReload: Spring Boot DevTools模块包括一个名为 Le module Spring Boot DevTools inclut un module nomméserveur intégré de LiveReload. Tant que nous faisons des modifications dans cela, l'application peut déclencher automatiquement le rafraîchissement du navigateur. Ressources. Cela s'appelle également

actualisation automatique. attention: désactiver LiveReload, utilisez la propriétéPour false.

Il fournit des extensions de navigateur pour Chrome, Firefox et Safari. Par défaut, LiveReload est activé. LiveReload fonctionne sur les chemins suivants :

/META-INF/maven /META-INF/resources /ressources /statique /public /modèles

Nous pouvons également désactiver le rechargement automatique dans le navigateur en excluant les chemins ci-dessus. Par exemple :

spring.devtools.restart.exclude=public/**, static/**, templates/**

Nous pouvons utiliser l'attribut spring.devtools.restart.additional-paths pour voir d'autres chemins supplémentaires.par exemple :

spring.devtools.restart.additional-paths=/path-to-folder

Si nous devons exclure d'autres chemins tout en souhaitant conserver les chemins par défaut, utilisez l'attribut spring.devtools.restart.additional-exclude。par exemple :

spring.devtools.restart.additional-exclude=styles/**

Rappelez-vous

Nous pouvons exécuter un serveur LiveReload à la fois. Assurez-vous qu'aucun autre serveur LiveReload n'est en cours d'exécution avant de démarrer l'application. Si nous démarrons plusieurs applications à partir de l'IDE, il ne prend en charge que le premier LiveReload.

tunnel de débogage à distance : Spring Boot peut tunneliser JDWP (Java Debug Wire Protocol) directement vers l'application via HTTP. Il peut même déployer l'application sur des ports ouverts uniquement.80 et443fournisseurs de cloud Internet.

mise à jour et redémarrage à distance : Une autre astuce fournie par DevTools est : il prend en charge les applications mise à jouret redémarrage.Il surveille les modifications des fichiers dans le classpath local et les pousse vers un serveur distant, puis redémarre. Nous pouvons également combiner cette fonction avec LiveReload.

l'utilisation du fichier déclencheur

En raison du redémarrage fréquent, le redémarrage automatique peut parfois ralentir le temps de développement. Pour résoudre ce problème, nous pouvons utiliser un fichier déclencheur.SpringBoot surveille les fichiers déclencheurs et détecte les modifications dans ce fichier. Il redémarre le serveur et recharge toutes les modifications précédentes.

Nous pouvons ajouter des attributs spring.devtools.restart.trigger-file est implémenté dans notre application pour déclencher les fichiers.Est-il interne ou externe. Par exemple:

spring.devtools.restart.trigger-file=c:/espace de travail-sts-3.9.9.RELEASE/redémarrage-trigger.txt

Exemple de Spring Boot DevTools

Étape1: Utilisez Spring Initializr https://start.spring.io/.

Étape2: Fourni GroupeNom et Artéfact ID. Nous avons fourni le nom du groupe com.w3ID de l'artefact et spring-boot-devtools-example.

Étape3: Ajoutez les dépendances suivantes: spring-boot-starter-web et spring-boot-devtools .

Étape4: Cliquez GénérerBouton. Il téléchargera le projet Jar Fichier.

Étape5: Extraites le fichier Jar.

Étape6: Importez le dossier dans STS.

Fichier-Importer-Projet Maven existant-Parcourir-Sélectionnez le dossier spring-boot-devtools-example-Terminé

Après l'importation réussie, nous pouvons voir les répertoires suivants dans la partie Package Explorer de STS.

Étape7: Ouvrir SpringBootDevtoolsExampleApplication.java Et exécutez-le en tant qu'application Java.

Ensuite, apportez toute modification (édition ou suppression de fichiers ou de codes) dans l'application, puis enregistrez les modifications apportées. Après avoir enregistré les modifications, le serveur redémarrera et récupérera les modifications.