- 热部署:热部署就是代码修改时会自动部署并重新启动项目,而不用人工将项目重启,就跟Vue一样热部署原理:
spring-boot-devtools使用了两个类加载器ClassLoader,一个ClassLoader加载不会发生更改的类(第三方jar包),另一个ClassLoader(restart ClassLoader)加载会更改的类(自定义的类)。
后台启动一个文件监听线程(File Watcher),监测的目录中的文件发生变动时,原来的restart ClassLoader被丢弃,将会重新加载新的restart ClassLoader。
由于加载的类比较少,所以缩短了重启时间。
- pom.xml中添加依赖
org.springframework.boot spring-boot-devtools true org.springframework.boot spring-boot-starter-thymeleaf
- 在application.yml中配置devtools
spring:
devtools:
restart:
enabled: true #设置开启热部署
additional-paths: src/main/java #重启目录
exclude: WEB-INF
public JsonResult() {
this.code = "0";
this.msg = "操作成功!";
}
public JsonResult(String code, String msg) {
this.code = code;
this.msg = msg;
}
public JsonResult(T data) {
this.data = data;
this.code = "0";
this.msg = "操作成功!";
}
public JsonResult(T data, String msg) {
this.data = data;
this.code = "0";
this.msg = msg;
}
// 省略get和set方法
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
- 新建PostmanController类
package com.example.postman.controller;
import com.example.postman.util.JsonResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class PostmanController {
@PostMapping("login")
public JsonResult login(String username,String password){
JsonResult result=new JsonResult();
result.setData(username);
result.setCode("0");
result.setMsg("操作成功!");
return result;
}
}
- 使用Postman发送请求



