SpringBoot(十二)DevTools热部署

2018-11-20 03:22:31来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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刷新也是好使的。


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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Struts2初体验

下一篇:idea上使用maven入门(二)——本地仓库以及使用maven