[JAVA] Paramètres d'échange à chaud Spring Boot

J'ai récemment lancé Spring Boot et je cherchais à mettre en place le Hot Swapping, mais j'ai eu du mal de manière inattendue car certains articles étaient un peu obsolètes ou manquaient de paramètres, je vais donc les résumer ici.

Informations environnementales

Etapes de configuration

Cochez "Construire le projet automatiquement" dans les Préférences.

image.png

Affichez la fenêtre de recherche de commandes avec Shift + Commande + A et exécutez Registry ....

image.png

Vérifiez compiler.automake.allow.when.app.running.

image.png

Ajoutez les paramètres suivants dans build.gradle.

bootRun {
    sourceResources sourceSets.main
}

Ajoutez ce qui suit à ʻapplication.properties` (si vous utilisez Thymeleaf comme moteur de modèle):

spring.thymeleaf.cache = false

À propos du mouvement de rechargement

Par exemple, apporter des modifications à la source de src / main / java / hello / GreetingController.java rechargera l'application. Dans mon environnement, j'ai dû enregistrer le fichier source avec Command + S pour que le rechargement s'exécute.

...
Service arrêté
2019-05-24 16:18:26.310  INFO 37740 --- [      Thread-33] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'

L'application a redémarré
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.4.RELEASE)

2019-05-24 16:18:31.397  INFO 37740 --- [  restartedMain] hello.Application                        : Starting Application on xxx.local with PID 37740 (/Users/takehiro/Documents/git/sprint-web-mvc/build/classes/java/main started by takehiro in /Users/user/Documents/git/sprint-web-mvc)
2019-05-24 16:18:31.398  INFO 37740 --- [  restartedMain] hello.Application                        : No active profile set, falling back to default profiles: default
2019-05-24 16:18:31.563  INFO 37740 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
...

De plus, toutes les modifications apportées au fichier statique src / main / resources / templates / salutation.html ont été reflétées en rechargeant le navigateur. Dans ce cas, le rechargement de l'application n'a pas eu lieu.

Recharge en direct

En combinant avec l'extension Live Reload du navigateur, il sera possible de recharger automatiquement sans cliquer à chaque fois sur le bouton de rechargement du navigateur. En effet, Spring Boot Devtools dispose d'un serveur Live Reload intégré.

Les extensions peuvent être installées depuis ici.

Démarrez d'abord l'application et affichez l'écran sur le navigateur. Cliquez sur l'icône de l'extension LiveReload et assurez-vous que l'état est «LiveReload est connecté, cliquez pour désactiver».

image.png

Cela permettra le rechargement en direct.

livereload.gif

référence

Recommended Posts

Paramètres d'échange à chaud Spring Boot
Paramètres liés aux performances de Spring Boot
Paramètres du chemin de contexte Spring Boot 2.x
Déploiement à chaud avec le développement Spring Boot
Défi Spring Boot
Forme de botte de printemps
Spring Boot Rappelez-vous
gae + botte à ressort
Fiche d'apprentissage SPRING BOOT 01
Botte de printemps + Heroku Postgres
Rédaction de mémo de démarrage de printemps (1)
Fiche d'apprentissage SPRING BOOT 02
Aide-mémoire Spring Boot2
Gestion des exceptions Spring Boot
Mappage du servlet Spring Boot
Environnement de développement-développement Spring Boot-
Procédure d'apprentissage Spring Boot
Apprentissage de Spring Boot [Début]
Rédaction de mémos de démarrage de printemps (2)
Résumé du document Spring Boot 2.2
[Spring Boot] DataSourceProperties $ DataSourceBeanCreationException
Disponibilité de l'application Spring Boot 2.3
Tutoriels Spring Boot Sujets
Télécharger avec Spring Boot
[Spring Boot] Construction de l'environnement (macOS)
Définir le paramètre contextuel dans Spring Boot
Essayez Spring Boot de 0 à 100.
Générer un code à barres avec Spring Boot
Hello World avec Spring Boot
Spring Boot sur Microsoft Azure
Comment modifier la valeur de paramètre de application.properties au moment du démarrage dans Spring Boot
Calendrier des tâches du didacticiel Spring Boot
Spring 5 et Spring Boot 2 Procédure de préparation pratique
Démarrez avec Spring Boot
Bonjour tout le monde avec Spring Boot!
[Spring Boot] Création d'applications Web
Exécutez LIFF avec Spring Boot
Connexion SNS avec Spring Boot
[Java] Thymeleaf Basic (Spring Boot)
Introduction à Spring Boot ① ~ DI ~
Téléchargement de fichiers avec Spring Boot
Spring Boot commençant par copie
Introduction à Spring Boot ② ~ AOP ~
Application Java CICS-Run - (4) Application Spring Boot
Spring Boot à partir de Docker
Spring Boot + Springfox springfox-boot-starter 3.0.0 Utilisation
Conseils relatifs à Spring Boot DB
Hello World avec Spring Boot
Définir des cookies avec Spring Boot
[Spring Boot] Recette de processus de pagination facile
Utiliser Spring JDBC avec Spring Boot
Construction de l'environnement Docker × Spring Boot
Changements majeurs dans Spring Boot 1.5
Ajouter un module avec Spring Boot
Premiers pas avec Spring Boot
NoHttpResponseException dans Spring Boot + WireMock
[Spring Boot] Envoyer un e-mail
Application Spring Boot qui spécifie les paramètres de connexion à la base de données avec des paramètres
Introduction à Spring Boot, partie 1
Priorité de réglage externe Spring Boot