JavaEE框架整合开发创新·协作·分享TIPCC教案第十二章SpringBoot的热部署与单元测试授课教师:陈恒大连外国语大学TIPCC教案本章目标1.理解单元测试的原理2.掌握开发的热部署3.掌握@WebMvcTest和@SpringBootTest的用法2TIPCC教案本章内容312.1开发的热部署12.2SpringBoot的单元测试TIPCC教案12.1开发的热部署12.1.1模板引擎的热部署12.1.2使用spring-boot-devtools进行热部署4TIPCC教案12.1.1模板引擎的热部署在SpringBoot应用中,使用模板引擎的页面默认是开启缓存的,如果修改了页面内容,则刷新页面是得不到修改后的页面的效果。因此,我们可以在配置文件application.properties中关闭模板引擎的缓存。5关闭Thymeleaf缓存的配置:spring.thymeleaf.cache=false关闭FreeMarker缓存的配置:spring.freemarker.cache=false关闭Groovy缓存的配置:spring.groovy.template.cache=falseTIPCC教案12.1开发的热部署12.1.1模板引擎的热部署12.1.2使用spring-boot-devtools进行热部署6TIPCC教案12.1.2使用spring-boot-devtools进行热部署在SpringBoot应用的pom.xml文件中添加spring-boot-devtools依赖即可实现页面和代码的热部署。spring-boot-devtools是一个为开发者服务的模块,最重要的功能就是自动实现将修改的应用代码更新到最新的应用上。其工作原理是使用两个ClassLoader,一个ClassLoader加载那些不会改变的类(如第三方JAR包);一个ClassLoader加载更新的类,称为RestartClassLoader。这样在有代码修改时,原来的RestartClassLoader被丢弃,重新创建一个RestartClassLoader加载更新的类,由于只加载部分修改的类,所以实现了较快的重启。7TIPCC教案【例12-1】使用spring-boot-devtools进行热部署81.创建基于spring-boot-devtools依赖的SpringBootWeb应用创建基于spring-boot-devtools依赖的SpringBootWeb应用ch12_1。2.创建控制器类在com.ch.ch12_1包中,创建控制器类TestDevToolsController@RestControllerpublicclassTestDevToolsController{@RequestMapping("/testDevTools")publicStringtestDevTools(){return"testDevTools111";}}TIPCC教案4.测试运行9首先,运行Ch121Application主类,启动应用ch12_1。然后,通过“http://localhost:8080/testDevTools”请求TestDevToolsController类中的testDevTools方法,运行结果如左下图所示。现在,我们将testDevTools方法中的return语句修改如下:return"testDevTools222";无需重...