使用 IDEA 开发 JAVA 项目的过程中,咱们完结一个功用的编写后,需求调试,往往需求从头启动项目,那么,咱们有什么办法越过从头启动呢?

那就得提到热加载~

本文演示的环境如下:

  • IntelliJ IDEA 2021.2.2 (Ultimate Edition)
  • macOS MontereyApple M1
  • Java version17.0.7
  • Spring Boot3.1.0
  • 谷歌浏览器 – 版别 113.0.5672.126(正式版别) (arm64)

本文咱们将通过 devtools 来完成热加载的功用~

增加 devtools

咱们新建一个名为 jimmy 的案例项目,然后在 pom.xml 中增加依赖:

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

IDEA JAVA 项目热加载

假如不收效,请重启 IDEA

验证

咱们在页面中增加 controller 验证下:

// HelloController.java
package com.example.jimmy;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(String name) {
        return "Hello Jimmy 01!";
    }
}

咱们运行下项目,在谷歌浏览器上拜访 http://localhost:8080/hello 地址,则有页面:

IDEA JAVA 项目热加载

咱们更改上面的代码回来的内容:

Hello Jimmy 01! -> Hello Jimmy 02!不必保存,直接点击右上角的构建(锤子图标)

IDEA JAVA 项目热加载

然后改写方才的地址,页面的内容会更新:

IDEA JAVA 项目热加载

主动改写浏览器 – 非 IDEA 中配置

前端开发的过程中,现成的库(angular, react, vue)脚手架都帮咱们设定好了热加载,在保存编写的代码时分,页面会主动改写内容。

那么,咱们在本例中,能否完成更改了 controller 的回来信息,并点击 build(锤子图标)后,页面能够主动改写呢?

答案是能够的。咱们在谷歌浏览器上安装插件 – LiveReload 并启用。

IDEA JAVA 项目热加载

那么咱们在 IDEA 上更改了内容,从头 build 后,不必改写浏览器,页面内容会主动更新。

⚠️ 使用 LiveReload 插件,你不能在浏览器的访客功用下使用。因为该功用会禁用插件

参阅

  • IDEA + Spring Boot 的三种热加载计划
  • HTML实时预览-LiveReload完整使用办法

IDEA JAVA 项目热加载

相关阅览

  • Java 中 Spring Boot 衔接 MySql 数据库
  • Java Web 编写 Restful API
  • IntelliJ IDEA 创立 Java Web 项目