请叫我头头哥

SpringBoot入门教程(十二)DevTools热部署

devtools模块,是为开发者服务的一个模块。主要的功能就是代码修改后一般在5秒之内就会自动重新加载至服务器,相当于restart成功。与JRebel不同的是,JRebel是一款商业插件,devtools是免费的。

devtools:是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件、属性文件、页面等)时,会重新启动应用(由于其采用的双类加载器机制,这个启动会非常快,如果发现这个启动比较慢,可以选择使用jrebel) 双类加载器机制:boot使用了两个类加载器来实现重启(restart)机制:base类加载器(简称bc)+restart类加载器(简称rc)。 bc:用于加载不会改变的jar(eg.第三方依赖的jar) rc:用于加载我们正在开发的jar(eg.整个项目里我们自己编写的类)。当应用重启后,原先的rc被丢掉、重新new一个rc来加载这些修改过的东西,而bc却不需要动一下。这就是devtools重启速度快的原因。

在使用IDEA做SpringBoot的web项目的时候,在每一次修改了java文件或者是resource的时候,都必须去重启一下项目,这样的话浪费了很多的时间,那么,这个时候,就需要去实现程序的热部署,能够在修改了页面的时候能够立马刷新显现出新的效果。

v热部署

1.1 在设置中勾中Build project automatically

SpringBoot入门教程(十二)DevTools热部署

1.2 使用快捷键Ctrl + shift + alt + /,打开Maintenance操作面板,选择Registry,打开Registry操作面板

SpringBoot入门教程(十二)DevTools热部署

1.3 找到并勾线"compiler.aut0make.allow.when.app.running",点击Close关闭操作面板。

SpringBoot入门教程(十二)DevTools热部署

1.4 启动应用,查看日志。

SpringBoot入门教程(十二)DevTools热部署

1.5 更新某个类文件进行验证。

 SpringBoot入门教程(十二)DevTools热部署

如上图,spring-boot-devtools将会自动重启,留意观察控制台的日志。

v热加载(LiveReload)

2.1 在谷歌商店添加LiveReload插件

 SpringBoot入门教程(十二)DevTools热部署

SpringBoot入门教程(十二)DevTools热部署

2.2 启动项目查看效果

SpringBoot入门教程(十二)DevTools热部署

2.3 更新之后效果

SpringBoot入门教程(十二)DevTools热部署

2.4 其他方式

关于热加载的方式,启动以后如果html有更新,直接F5刷新也是好使的。

v源码地址

https://github.com/toutouge/javademosecond/tree/master/hellospringboot


作  者:请叫我头头哥
出  处:http://www.cnblogs.com/toutou/
关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!

posted @ 2018-11-18 22:03  请叫我头头哥  阅读(2437)  评论(0编辑  收藏  举报
//Setting ico for cnblogs