springboot热加载与热部署

1.概念

热加载:容器监听到文件的改变,重新加载改动的文件到容器,不释放整个应用的内存;这样无需停止该应用的运行,可以节省加载时间,所以常用于开发阶段。

热部署:容器监听到文件的改变,重新加载整个应用程序,并重置应用运行中的所有状态;由于服务器中可以部署多个应用,这样可以不用重启服务器,只自动把改动过的应用重新部署,所以常用于生产阶段。

2.springboot热加载(idea开发工具)

在修改代码之后,直接按Ctrl+shift+F9即可编译代码并加载到应用程序中,及时生效。

示例如下:

访问localhost:8080/hello会在控制台输出:AA

package com.ecarx.jsk.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

@Controller
public class HelloController {
    @ResponseBody
    @RequestMapping("/hello")
    public String hello(HttpServletRequest request) {
        System.out.println("AA");
        return "Hello World!";
    }
}

springboot热加载与热部署_第1张图片

然后使用快捷键,编译项目代码,重新访问localhost:8080/hello请求

springboot热加载与热部署_第2张图片

3.springboot热部署(idea开发工具)

第一步:使用springboot提供的工具,引入maven依赖即可。

        
            org.springframework.boot
            spring-boot-devtools
        

第二步:开启自动编译

springboot热加载与热部署_第3张图片

第三步:设置当程序运行时,也可以编译文件。

使用快捷键Ctrl+shift+A,在输入框中输入Register

springboot热加载与热部署_第4张图片

双击进入,勾选compiler.automake.allow.when.app.ruanning这个选项即可。(开发不推荐热部署!)

springboot热加载与热部署_第5张图片

你可能感兴趣的:(springboot,开发工具)