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

  • 相关阅读:
    JavaScript之延迟加载
    Android之adb命令
    Android之所有API汇总
    Android常用系统广播
    CSS之自适应布局webkit-box
    在Go中没有引用传值
    go指针-1
    go如何实现优雅的错误处理,
    Golang中切片复制成本,一个大切片会比小切片占用更多内存吗?
    Go中的Slice有何不同,传递类型,详解切片类型
  • 原文地址:https://www.cnblogs.com/toutou/p/9831685.html
Copyright © 2011-2022 走看看