一、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缓存等冲突,就算了。
使用Spring Loaded并不会让JSP热部署,所以老实点,全局配置文件修改下:
server: servlet: jsp: init-parameters: development: true效果是直接修改完jsp就可以刷新浏览器页面看结果了。
我填写的是(自行修改本地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日志即可。
初始状态:
/** * 登录 * <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)); }
