Spring-Boot-Devtools est un module servant des développeurs. La fonction la plus importante est d'appliquer automatiquement le code à la dernière application.
Le principe est de redémarrer l'application après avoir découvert que le code a changé, mais la vitesse est plus rapide que de le démarrer manuellement. Son principe profond consiste à utiliser deux chargeurs de classe, un Classloader charge les classes qui ne changeront pas (packages JAR tiers), et l'autre Classloader charge les classes qui changent, appelé redémarrage de Classloader
, De cette manière, lorsqu'il y a des modifications de code, le chargeur de classe de redémarrage d'origine est jeté et un chargeur de classe de redémarrage est recréé. Puisqu'il y a relativement peu de classes qui doivent être chargées, un temps de redémarrage plus rapide est obtenu. C'est-à-dire que Devtools écoutera les modifications de fichiers sous ClassPath et redémarrera immédiatement l'application (survenant au moment de l'enregistrement)
1. Allumez l'idée automatique de faire une fonction
1. Ctrl + Shift + A -> Recherchez de faire le projet automatiquement -> Sélectionner
2. Ctrl + Shift + A -> Rechercher le registre -> Rechercher et vérifier le compilateur.automake.allow.when.app.running
Enfin redémarrer l'idée
2. Utilisez Spring-Boot-1.3 pour commencer avec des fonctions de déploiement à chaud
1. Ajouter des dépendances Maven
<dependency> <proupId> org.springframework.boot </proupyId> <ArtifActid> printemps-boot-devtools </ artifactive> <Apultal> true </acultieal> </Dependency>
2. Allumez le déploiement chaud
<Duild> <Glugins> <Glugin> <ProupId> org.springframework.boot </prôdId> <ArtifactId> Spring-Boot-Maven-Plugin </ ArfactId> <Fonfi configuration> <Fourk> true </Fork> // Cette configuration doit </ Configuration> </ / Plugin> </glugins> </Duild>
3. Chrome désactive le cache
F12 (ou ctrl + shift + j ou ctrl + shift + i) -> réseau -> désactiver le cache (tandis que Devtools est ouvert)
À ce stade, vous pouvez volontiers modifier le code dans l'idée. Après modification, vous pouvez voir l'effet dans le temps sans redémarrer et nettoyer manuellement le cache du navigateur.
Méthode de test:
1. Modifier la classe -> Enregistrer: l'application redémarrera
2. Modifier le fichier de configuration -> Enregistrer: l'application redémarrera
3. Modifier la page -> Enregistrer: l'application redémarrera et la page sera actualisée (le principe est de définir le printemps.thymeleaf.cache à false)
Impossible d'utiliser l'analyse:
1. La version correspondante de Spring-Boot est-elle correcte? J'utilise la version 1.5.3.Release ici;
2. Si le plugin a été ajouté, et l'attribut <Fork> true </Fork>
3. Si Intellij Idea est activée, faites un projet automatiquement.
4. Si SpringApplication.setRegisterShutdownHook (false) est défini, le redémarrage automatique ne fonctionnera pas.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.