zoukankan      html  css  js  c++  java
  • 39、springboot——热部署

    热部署

    在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,
    我们希望不重启应用的情况下,程序可以自动部署(热部署)。有以下四种情况,如何能实现热部署。
    1、模板引擎
    在Spring Boot中开发情况下禁用模板引擎的cache 页面模板改变ctrl+F9
    可以重新编译当前页面并生效
    2、Spring LoadedSpring
    官方提供的热部署程序,实现修改类文件的热部署 下载Spring Loaded(
    添加运行时参数; -javaagent:C:/springloaded-1.2.5.RELEASE.jar –noverify      
    3、JRebel 
    收费的一个热部署软件 
    安装插件使用即可
    4、Spring Boot Devtools(推荐)

    这里我就以测试Spring Boot Devtools为例

    创建一个简单的springboot应用,只导入了web模块

    创建一个HelloController

    @RestController
    public class HelloController {
    
        @GetMapping("/hello")
        public String hello(){
            return "hello";
        }
    }

    开启服务访问没问题

    HelloController编译后的class文件

     此时我们修改路径映射

    @RestController
    public class HelloController {
    
        @GetMapping("/aaa")
        public String hello(){
            return "hello";
        }
    }

    如果IDEA没有开启自动编译的话则需要手动Ctrl+F9进行构建重新编译构建

     重新编译之后,class文件就修改了

     但是访问aaa路径还是无效

     需要重启服务才有生效,每次修改就得重启服务会很麻烦,此时我们就可以用上热部署

    导入devtools 依赖

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

    之后每次修改完了代码,只要按Ctrl+F9重新编译后,项目就会自动重新部署(热部署)

    在eclipse中需要热部署的话也是先导入依赖,但只需要按Ctrl+S保存即可,因为保存即重新编译

  • 相关阅读:
    Extjs系列篇(3)—-model数据模型
    js中parseInt()会导致的一些问题
    Extjs系列篇(2)—-初步了解
    一步一步学python(七)
    一步一步学python(六)
    一步一步学python(五) -条件 循环和其他语句
    一步一步学python(四)
    一步一步学python(三)
    MFC socket网络通讯核心代码
    MFC 遍历FTP服务器目录中文乱码问题
  • 原文地址:https://www.cnblogs.com/lyh233/p/12716626.html
Copyright © 2011-2022 走看看