zoukankan      html  css  js  c++  java
  • 第十五章:Spring Boot 与 开发热部署

    一、热部署

      在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,我们希望不重启应用的情况下,程序可以自动部署(热部署)。有以下四种情况,如何能实现热部署。

    二、热部署方式

      1、模板引擎

        在Spring Boot中开发情况下禁用模板引擎的cache
        页面模板改变ctrl+F9可以重新编译当前页面并生效

      2、Spring Loaded

        Spring官方提供的热部署程序,实现修改类文件的热部署
        下载Spring Loaded(项目地址https://github.com/springprojects/spring-loaded

        添加运行时参数;

    -javaagent:C:/springloaded-1.2.5.RELEASE.jar –noverify

     

      3、JRebel

        收费的一个热部署软件,安装插件使用即可。

      4、Spring Boot Devtools (推荐)

        引入依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>

        

        IDEA使用ctrl+F9
        或做一些小调整

    Intellij IEDA和Eclipse不同, Eclipse设置了自动编译之后,修改类它会自动编译,而IDEA在非RUN或DEBUG情况下才会自动编译(前提是你已经设置了Auto-Compile)。
    设置自动编译(settings-compiler-make project automatically)
    ctrl+shift+alt+/(maintenance)
    勾选compiler.automake.allow.when.app.running
    

      

    三、Devtools 使用

      1、pom.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.6.2</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.njf</groupId>
        <artifactId>spring-boot-15-deploy</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>spring-boot-15-deploy</name>
        <description>Demo project for Spring Boot</description>
        <properties>
            <java.version>1.8</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>

      2、使用

      当对代码进行了修改后,按下 Ctrl+F9 就会进行编译并自动部署。

      

       可以看到每次修改完后就会进行热部署。

  • 相关阅读:
    C#不引用IWshRuntimeLibrary获取快捷方式目标位置
    chrome插件
    禁用右键菜单
    自定义创建右键菜单项目
    Win10怀旧--win7体验
    Win10隐藏托盘图标-注册表
    一些软件下载地址
    Win10锁屏与关机相关设置-注册表
    Winform开发中的窗体重复及灵活切换问题
    Winform开发中如何将数据库字段绑定到ComboBox控件
  • 原文地址:https://www.cnblogs.com/niujifei/p/15779105.html
Copyright © 2011-2022 走看看