SpringBoot中默认jsp页面的部署方式使用的是生产模式部署,所以当我们对jsp页面进行修改了之后,就必须重新启动才能看到修改后的结果,这对于我们jsp页面的开发是非常不友好的,为此,我们可以开启SpringBoot的热部署,使得在不重新启动SpringBoot应用的情况下,也能马上看到我们对jsp页面的修改结果。
要开启热部署,只需要在.yml文件中添加一项配置:
server:jsp-servlet:init-parameters:development:true#jsp热部署
但是这样仅仅是开启了jsp的热部署,它能够使得页面的修改能够实时显示,但当我们去修改其它的代码,比如修改控制层、服务层、持久层的代码,它就无法实时刷新了。此时若想看到修改,仍然需要重启应用,这就与我们的初衷相违背了,所以若想修改非页面代码后能够实时刷新、能够实时部署,我们就需要去开启全局的热部署。
首先在项目中引入Maven依赖:
<!--热部署--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>
这是SpringBoot提供的一个热部署工具,将其引入,然后开启idea的自动编译:
设置允许idea在程序运行中交换类文件,按组合键:Ctrl + Alt + Shift + /
:
然后选择Registy...,在弹出的窗口中勾选该项配置即可:
这样全局的热部署就配置好了,以后编写应用就不用频繁地重启了。