【SpringBoot】十三、代码热部署

tech2026-02-10  1

目录

一、JSP热部署

二、Spring Loaded

1. maven下载依赖的jar包到本地仓库,也可以阿里仓库去下。

2. 编辑内置服务器的VM参数

3. 也可以选择mvn spring-boot run去配置,麻烦,不讲

4. 测试下


热部署可以用Spring Loaded、spring-boot-devtools、JRebel等。这里选用Spring Loaded热部署后端代码,前端JSP热部署,在全局配置文件配置一下就好了。不选spring-boot-devtools,是因为它全局部署,不稳定,用多了有些代码会部署不上,得重启项目,并且和通用Mapper、Redis反序列化、Shiro缓存等冲突,就算了。

一、JSP热部署

 使用Spring Loaded并不会让JSP热部署,所以老实点,全局配置文件修改下:

server: servlet: jsp: init-parameters: development: true

 效果是直接修改完jsp就可以刷新浏览器页面看结果了。

二、Spring Loaded

1. maven下载依赖的jar包到本地仓库,也可以阿里仓库去下。

<dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.8.RELEASE</version> </dependency>

2. 编辑内置服务器的VM参数

我填写的是(自行修改本地jar包目录以及版本号):

-javaagent:F:\maven_repository\org\springframework\springloaded\1.2.8.RELEASE\springloaded-1.2.8.RELEASE.jar -noverify

若有其他参数,以空格隔开即可。

运行时,修改了代码,需要按ctrl+shift+F9重新编译,然后等3-5秒,出现error日志即可。

3. 也可以选择mvn spring-boot run去配置,麻烦,不讲

4. 测试下

 初始状态:

/** * 登录 * <p> * * @param employeeDomain 员工实体类 * @return org.springframework.web.servlet.ModelAndView * @author ZRH * @date 2020-08-18 * @version 1.0.0 */ @PostMapping(value = "/login") public RestResultDTO<Object> login(@RequestBody EmployeeDomain employeeDomain, HttpSession session) { System.out.println("登录"); return handleMessage(employeeService.checkAccount(employeeDomain, session), session.getAttribute(CommonConstant.LOGIN_EMPLOYEE)); }

修改后:

/** * 登录 * <p> * * @param employeeDomain 员工实体类 * @return org.springframework.web.servlet.ModelAndView * @author ZRH * @date 2020-08-18 * @version 1.0.0 */ @PostMapping(value = "/login") public RestResultDTO<Object> login(@RequestBody EmployeeDomain employeeDomain, HttpSession session) { return handleMessage(employeeService.checkAccount(employeeDomain, session), session.getAttribute(CommonConstant.LOGIN_EMPLOYEE)); }

 

最新回复(0)