1. 热部署
热部署,顾名思义,就是随时准备部署代码。换句话说,就是当代码发生改变时,立即将更新后的代码重新编译、运行。其实现原理大抵是这样的,系统会开两个ClassLoader,一个ClassLoader负责加载无改动的代码,另一个ClassLoader负责动态加载变动的代码。当代码发生改变时,负责动态加载变动代码的ClassLoader就会将代码重新编译、运行。
其实我一直在想,为什么会出现热部署这个功能?答案可能只有一个字,那就是懒。程序员大都是比较懒的,每次修改完代码后,还需要去点run那个按钮,我相信任何一个程序员都不愿意进行这样的操作。所以,哪里有需求,哪里就有解决方案,最终一个比较厉害的程序员开发出了这样一个功能,当代码更新完后,自动替代人工的run操作。这样做的好处就是大大减小了人工的工作量。
2. 实现步骤
2.1 加入maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2.2 测试
首先实现一个Controller
@GetMapping("/health")
pu