Spring Boot DevTools 全局配置学习指南

网友投稿 333 2022-08-16


Spring Boot DevTools 全局配置学习指南

目录 一、直接重启项目与devtools重启的区别 二、DevTools配置 三、DevTools全局配置 四、trigger-file控制重启行为 4.1、配置 4.2、新建文件.reloadtrigger 4.3、测试类 4.4、控制重启 Controller类 4.5、总结

一、直接重启项目与devtools重启的区别

我们在加入devtools依赖后就可以使用第一个按钮,而第二个按钮是我们平常使用最多的按钮,两者最大的区别就是再修改项目代码后重启项目的部分不一样,第一个按钮(锤子按钮)是重新加载所有已经改变的类和一些用户编写的代码,不会重新加载第三方的插件和依赖以及库,很省时间;但是第二个按钮就会重新加载项目的所有资源,很浪费cpu资源;所以我们开发通UwmxAthuq常会使用devtools来辅助开发

二、DevTools配置

org.springframework.boot

spring-boot-devtools

runtime

true

只要代码修改之后,点击编译按钮(绿色锤子)就会重启项目,重新加载所有已经改变的类和一些用户编写的代码,不会重新加载第三方的插件和依赖以及库

三、DevTools全局配置

在系统的当前用户的目录下新建一个文件名为.spring-boot-devtools.properties的文件,里面就可以编写application.properties中关于devtools的配置,不过与application.properties不同的是全局配置文件是所有启动的项目都会去加载这个配置文件,而application.properties只是本项目才会去加载

四、trigger-file控制重启行为

4.1、配置

以下二者选一即可,前者项目配置,后者全局配置

application.properties配置

spring.devtools.restart.trigger-file=.reloadtrigger

.spring-boot-devtools.properties配置

spring.devtools.restart.trigger-file=.reloadtrigger

4.2、新建文件.reloadtrigger

文件里随便填入一些字符

4.3、测试类

@RestController

public class HelloController {

@GetMapping("/hello")

public String getdev(){

return "hello devtools 123";

}

}

4.4、控制重启 Controller类

.reloadtrigger文件

请求http://localhost:8080/hello

之后我们修改Controller代码,但我们并不修改.reloadtrigger文件

@RestController

public class HelloController {

@GetMapping("/hello")

public String getdev(){

return "hello devtools 1234";

}

}

重新编译之后:

结果仍不改变

我们现在修改.reloadtrigger文件

重新编译:

项目重启,并且重新更新,将修改后的代码生成

4.5、总结

控制重启行为就是不再是devtools在代码被修改之后自动去重启,而是由我们人工通过.reloadtrigger文件的修改来控制项目自动的重启行为


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java 类与对象超基础讲解
下一篇:Spring事务管理下synchronized锁失效问题的解决方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~