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保存即可,因为保存即重新编译

  • 相关阅读:
    SQL SERVER2005中将普通表修改为分区表
    手把手教你建立SQL数据库的表分区
    捕获input 文本框内容改变的事件(onchange,onblur,onPropertyChange比较)
    sql语句求排名
    带输出参数的插入语句
    js Base64.encode(str)_decode(str).html
    jquery.base64.js(完美解决中文乱码) 免费版
    sql数据库如何获取某个字段里的最大值?
    C#里封装 继承 多态
    C#中的属性get和set()方法
  • 原文地址:https://www.cnblogs.com/lyh233/p/12716626.html
Copyright © 2011-2022 走看看