So implementieren Sie die Hot-Bereitstellung in Spring Boot
Es ist eine sehr einfache Sache, die Hot-Bereitstellung von Code in Spring Boot und den Code zu implementieren Änderungen können automatisch bereitgestellt und das Projekt neu gestartet werden.
1. Verweisen Sie auf die Devtools-Abhängigkeit
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
Auf diese Weise wird eine Java-Klasse im laufenden Betrieb aktualisiert.
2. Hot-Bereitstellung mit benutzerdefinierter Konfiguration
Die folgende Konfiguration ist für die Hot-Bereitstellung mit benutzerdefinierter Konfiguration vorgesehen und muss nicht festgelegt werden.
# 热部署开关,false即不启用热部署 spring.devtools.restart.enabled: true # 指定热部署的目录 #spring.devtools.restart.additional-paths: src/main/java # 指定目录不更新 spring.devtools.restart.exclude: test/**
3. Intellij-Ideenänderung
Wenn es sich um eine Idee handelt, müssen Sie die folgenden zwei Stellen ändern:
1. Überprüfen Sie die automatische Kompilierung oder Compiler manuell neu kompilieren
Datei > Compiler-Build-Projekt automatisch
Hinweise
1. Die Devtools der Produktionsumgebung werden deaktiviert, z. B. die Java-JAR-Methode oder die benutzerdefinierte Klasse Loader usw. werden als Produktionsumgebung erkannt.
2. Verpackte Anwendungen enthalten standardmäßig keine Devtools, es sei denn, Sie deaktivieren das Attribut „excludeDevtools“ des SpringBoot Maven-Plug-ins. 3. Thymeleaf muss spring.thymeleaf.cache nicht konfigurieren: false, devtools legt es standardmäßig automatisch fest. Klicken Sie hier, um die vollständigen Eigenschaften anzuzeigen. Das Folgende ist Teil des Quellcodes für die automatische Konfiguration von Devtools:@Order(Ordered.LOWEST_PRECEDENCE) public class DevToolsPropertyDefaultsPostProcessor implements EnvironmentPostProcessor { private static final Map<String, Object> PROPERTIES; static { Map<String, Object> properties = new HashMap<String, Object>(); properties.put("spring.thymeleaf.cache", "false"); properties.put("spring.freemarker.cache", "false"); properties.put("spring.groovy.template.cache", "false"); properties.put("spring.mustache.cache", "false"); properties.put("server.session.persistent", "true"); properties.put("spring.h2.console.enabled", "true"); properties.put("spring.resources.cache-period", "0"); properties.put("spring.resources.chain.cache", "false"); properties.put("spring.template.provider.cache", "false"); properties.put("spring.mvc.log-resolved-exception", "true"); properties.put("server.jsp-servlet.init-parameters.development", "true"); PROPERTIES = Collections.unmodifiableMap(properties); }4. Devtools belegt den Java-Prozess im Windows Resource Manager und kann in den Entwicklungstools nicht beendet werden Nur manuell beendet werden, andernfalls wird nach dem Neustart der Port für die wiederholte Bindung ausgewählt und ein Fehler gemeldet. Weitere verwandte Inhalte finden Sie auf der
PHP-Chinese-Website
.Das obige ist der detaillierte Inhalt vonSo implementiert Spring Boot die Hot-Bereitstellung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!