1.SpringLoaded
2.DevTools
SpringLoader:SpringLoader 在部署项目时使用的是热部署的方式。
DevTools:DevTools 在部署项目时使用的是重新部署的方式
热部署 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的Class文件,这个文件里记录着和代码等对应的各种信息,然后Class文件将被虚拟机的ClassLoader加载。 而热部署正是利用了这个特点,它监听到如果有Class文件改动了,就会创建一个新的ClaassLoader进行加载该文件,经过一系列的过程,最终将结果呈现在我们眼前。 类加载机制 Java中的类经过编译器可以把代码编译为存储字节码的Class文件,该Class文件存储了各种信息,最终要加载到虚拟机中运行使用。 虚拟机把描述类的数据从Class文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。
1.到mvn仓库下载jar包
下载后记住这个jar包的绝对路径。接下来会用到 2.配置SpringBoot的启动参数配置
在VMOptions里面添加 -javaagent:jar包路径 -noverify
3.以Debug模式进行启动,再更改代码后会自动更新classes文件,至此完成。
一、pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <!-- optional目的是为了继承他的项目不继承这个devtools插件 --> </dependency> 二、勾选Build project automatically(自动构建)
三、IDEA 设置为在程序运行过程中,依然允许自动编译 步骤: ctrl + shift + alt + /,选择Registry,勾选勾上 Compiler autoMake allow when app running
勾选目标的位置自己找找,排列顺序不一样,勾选后记得重启生效! 四、设置自动加载资源配置和编译