Was ist heiße Bereitstellung
Jeder weiß, dass während der Projektentwicklung die Seitendaten oder die Datenstruktur häufig geändert werden. Um den Änderungseffekt anzuzeigen, müssen Sie die Anwendung häufig neu starten, um den Änderungseffekt anzuzeigen. Tatsächlich ist es eine neue Klassendatei, die neu kompiliert und generiert wird. Diese Datei erfasst verschiedene Informationen, die dem Code entsprechen, und anschließend wird die Klassendatei vom Klassenloader der virtuellen Maschine geladen.
Die Hot Deployment nutzt diese Funktion. Es hört auf die Tatsache zu, dass die Klassendatei, wenn sie geändert wird, einen neuen Klassenloader zum Laden der Datei erstellt. Nach einer Reihe von Prozessen werden uns schließlich die Ergebnisse präsentiert.
Klassenbeladungsmechanismus
Der Compiler kann den Code in eine Klassendatei zusammenstellen, die Bytecode speichert. Die Klassendatei speichert verschiedene Informationen und wird schließlich zum Ausführen und Gebrauch in eine virtuelle Maschine geladen. Klassenlastmechanismus (auszog aus dem "eingehenden Verständnis der virtuellen Java-Maschine") Die virtuelle Maschine lädt die Daten, die die Klasse aus der Klassendatei beschreiben, in den Speicher, und überprüft, konvertiert, analysiert und initialisiert die Daten und bildet schließlich einen Java-Typ, der direkt von der virtuellen Maschine verwendet werden kann.
Spring Boot implementiert die heiße Bereitstellung
Spring Boot implementiert die heiße Bereitstellung auf folgende Weise:
Feder geladen
Diese Methode wird in Form eines Maven-Plug-Ins geladen, sodass sie mit dem Maven-Befehl mvn spring-boot:run beim Starten mit der Verwendung von Application.Run gestartet wird. Es ist ungültig, weil der Maven-Plug-in-Mechanismus beim Starten der Anwendung umgangen wurde.
POM -Integrationsmethode:
<build> <PLUGINS> <PLUGIN> <CROPREID> org.springFramework </plugin> </plugin> </plugins> </bauen>
Spring-Boot-Devtools
Diese Methode kann verwendet werden, um die Anwendung nach dem Ändern der Datei neu zu starten.
POM -Integration:
<!-Hot Deployment-Modul-> <De vor Ort> <gruppe> org.springFramework.boot </Groupid> <artifactID> Spring-Boot-Devtools </artifactid> <optional> TRUE </Optional> <!
Aufmerksamkeit der Integration
#Shield Thymeleaf Cache (Vorschlag: Die Entwicklungsumgebung ist auf false festgelegt, die Erzeugungsumgebung ist auf wahr) Spring.Thymeleaf.cache = false
1. Für Devtools können Sie Verzeichnisse angeben oder Verzeichnisse für die heiße Bereitstellung ausschließen.
#Die Datei, die hinzugefügt wird, dass ein Verzeichnis restartSpring.devtools.restart.additional-paths = src/main/java##Die Datei, die ausschließt, dass Verzeichnis nicht restartSpring.devtools.restart.Exclude = static/**, öffentlich/** erforderlich ist, erfordert
Legen Sie die Idee fest, um die Dateiänderung zu aktivieren, um das Projekt automatisch neu zu starten
1. Finden Sie die Einstellungen der Idee -> Erstellen, Ausführung, Bereitstellung -> Compiler, das Build -Projekt automatisch überprüfen
2. Kehren Sie zur normalen Schnittstelle der Idee zurück. Verwenden Sie den Verknüpfungsschlüsselverschiebung+Option+Befehl+/ für Mac. Die Verknüpfungstaste im Fenster ist Verschiebung+Strg+Alt+/. Offene Registrierung und überprüfen Sie es.
Compiler.automake.allow.when.app.runningCompiler.automake.allow.when.app.Running
Über die oben genannten Einstellungen können Sie HTML laden, ohne den Dienst neu zu starten. Wenn Sie jedoch die Java -Datei ändern, startet der Dienst automatisch in wenigen Sekunden neu. Wenn Sie nicht möchten, dass der Dienst neu startet, müssen Sie Spring.devtools.reatart.enable = False in application.properties oder application.yml hinzufügen.
Zusammenfassen
Das obige ist die heiße Bereitstellung von Spring Boot Integrated Spring-Boot-Devtools, die der Editor Ihnen vorgestellt hat. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!