跳至主要內容

SpringBoot+IDEA实现代码热部署

Mr.Dabao约 551 字大约 2 分钟

SpringBoot+IDEA实现代码热部署

前言

代码开发最爽的技巧有哪些?代码热部署一定是其中之一。

想想一下,昏暗的灯光下,凌晨一点的你正在写着代码,思路如尿崩,写代码肆意顺畅,但是这个时候,你为了测试代码需要频繁的手动重启项目。这是一种何种的卧草,顺畅的思路被手动启动项目分割的支离破碎。

介个时候,你最需要的不是一颗平和的心,而是一个 代码热部署 的技巧,代码写完让它自动部署到项目上,而你思路专注代码再也不用为重启项目费心。哎 这样的凌晨一点该是多么的惬意。

SpringBoot + IDEA 开启代码热部署

1.导入 devtools 的依赖到项目中

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

2.在pom文件中添加插件配置

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <fork>true</fork>
        <addResources>true</addResources>
    </configuration>
</plugin>

3.开启IDEA自动编译

windows 版本IDEA 配置

image-20230131200358780
image-20230131200358780

Mac 版本IDEA 配置

image-20230131200407631
image-20230131200407631

4.开启运行时编译

通过快捷键打开如下页面,将图中标注部分打钩即可

windows快捷键:ctrl+shift+Alt+/
mac快捷键:command+shift+A 搜索 Registry

image-20230131200417569
image-20230131200417569

5.重启IDEA

测试热部署效果

在项目中写入一个 AdminController 代码如下:

@Controller
@RequestMapping("admin")
public class AdminController {

    @RequestMapping("getAdmin")
    @ResponseBody
    public String getAdmin(){
        return "SpringBoot 好";
    }
}

启动项目,清空控制台,然后访问 http://localhost:8802/admin/getAdminopen in new window 可以看到页面

image-20230131200438033
image-20230131200438033

然后我们修改Controller代码

image-20230131200449895
image-20230131200449895

这时候注意观察IDEA的控制台,修改代码之后稍等两秒会看到控制台打印出了新的内容,这是热部署重新编译部署代码打印的内容。

image-20230131200457250
image-20230131200457250

这个时候,再次访问 http://localhost:8802/admin/getAdminopen in new window 就可以看到修改后的页面

image-20230131200509072
image-20230131200509072