zoukankan      html  css  js  c++  java
  • Spring Boot-------热部署

    热部署


    热部署重要的是:添加一个jar包

    第一步:在我们项目中的pom.xml文件中添加spring-boot-devtools这个jar包,Maven会帮我们自动下载的

        <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional><!--项目不支持传递,子项目不支持热部署-->
                <scope>true</scope><!--必须添加,否则无法生效-->
                <version>1.5.6.RELEASE</version>
            </dependency>

    在pom.xml下面添加中间那项配置configuration

        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <fork>true</fork><!--还需要添加此配置-->
                    </configuration>
                </plugin>
            </plugins>
        </build>

    再给讲解一些热部署的这个工具的作用机制:(网上看到的感觉说的很在理)

    devtools:是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件、属性文件、页面等)时,会重新启动应用(由于其采用的双类加载器机制,这个启动会非常快,如果发现这个启动比较慢,可以选择使用jrebel)

    • 双类加载器机制:boot使用了两个类加载器来实现重启(restart)机制:base类加载器(简称bc)+restart类加载器(简称rc)
      • bc:用于加载不会改变的jar(eg.第三方依赖的jar)
      • rc:用于加载我们正在开发的jar(eg.整个项目里我们自己编写的类)。当应用重启后,原先的rc被丢掉、重新new一个rc来加载这些修改过的东西,而bc却不需要动一下。这就是devtools重启速度快的原因。

    第二步:要在IDEA中设置一些属性

        这个是实现项目的自动编译

    接下来按快捷键alt+shift+ctrl+/ 出现选择第一个registry,之后在里面找到下图中的这个running选择打勾

    在你的这个下选择Edit congfiguration

    你的左侧没有Maven的话,就选择+号,添加Maven

      在command line:写spring-boot:run

      Name:是取个名字你认识就可以

    就这样热部署完毕

    用你的spring-boot:run重新启动一下项目,修改一下你你的Controller中的方法的一些代码,看看你的控制台是否变化,就可以看出来你是否有部署好你的热部署

    在你的浏览器上试试

           【版本声明】本文为博主原创文章,转载请注明出处

  • 相关阅读:
    char与byte的区别
    java 中的枚举类型
    * .mesh 体网格文件解析
    java 中的equals hashCode
    java 中的 hashCode()
    java 中的判断两个对象是否相等的比较严格的操作
    java 中的访问限制
    数学建模 投资模型
    java abstract
    java 中的多态 & 动态绑定
  • 原文地址:https://www.cnblogs.com/zhouguanglin/p/7512183.html
Copyright © 2011-2022 走看看