Heim  >  Artikel  >  Java  >  So implementiert Spring Boot die Hot-Bereitstellung

So implementiert Spring Boot die Hot-Bereitstellung

angryTom
angryTomOriginal
2020-02-14 14:31:405676Durchsuche

So implementiert Spring Boot die Hot-Bereitstellung

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

Strg + Umschalt + Alt + / > Registrierung > Compiler automatisch zulassen, wenn die App ausgeführt wird


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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn