Spring Boot是很优秀的框架,它的出现简化了新Spring应用的初始搭建以及开发过程,大大减少了代码量,目前已被大多数企业认可和使用。这个专栏将对Spring Boot框架从浅入深,从实战到进阶,不但我们要懂得如何去使用,还要去剖析框架源码,学习其优秀的设计思想。汇总目录链接:【Spring Boot实战与进阶】学习目录
一、简介
在我们平时的日常开发工作中,修改了Java代码或者配置文件的时候,必须手动重启项目才能生效。
所谓的热部署就是在你修改了后端代码后不需要手动重启,工具会帮你快速的自动重启使其生效。其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。
二、热部署的使用
1、引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
optional=true,依赖不会传递, 该项目依赖devtools;之后依赖boot项目的项目如果想要使用devtools,需要重新引入。
2、IDEA配置
2.1、勾选自动编译
2.2、按组合键ctrl + shift + alt + /,然后选择Registry,勾上 Compiler.autoMake.allow.when.app.running。