Spring Boot devtool的使用

作者: flydean程序那些事 | 来源:发表于2020-02-22 08:56 被阅读0次

    Spring Boot devtool的使用

    Spring Boot为我们提供了一个便捷的开发Spring Boot应用程序的环境,同时为了方便我们的开发Spring Boot应用程序,Spring Boot 推出了Spring Boot devtool的工具来方便我们更加快速的开发和测试Spring Boot应用程序。

    我们将会从下面几个方面来详细讲解Spring Boot devtool的功能。

    添加Spring Boot devtool依赖

    添加Spring Boot devtool依赖很简单:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>
    

    这样就添加好了,我们可以开始使用Spring boot devtool带给我们的优秀功能了。

    默认属性

    Spring Boot为我们提供了很多自动配置来提高我们开发的效率,比如会缓存模板引擎例如thymeleaf, 但是如果我们在开发过程汇中可能需要快速的看到修改的结果,这个时候我们就不需要这个缓存配置了,这时候我们就需要配置:

    spring.thymeleaf.cache=false

    如果添加了spring-boot-devtools, 上述的配置就不需要手动添加,devtool会自动帮我们添加好。

    自动重启

    在开发过程中,如果我们修改了某些java文件,我们可能需要重启下项目来观看修改后的结果,如果使用spring-boot-devtools,当classpath中有文件变动时候,devtools会自动帮你重启服务器。

    注意,这里的重启的条件是classpath的文件要有变化,如果你在使用IDEA开发的话,请勾选“Build project automatically” 选项,如下图示所示,否则你需要重新build项目来使重启生效。

    image

    Live Reload

    Live Reload主要针对资源文件的,我们的APP启动之后,可以看到一个:

    o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
    

    当资源文件变动的时候,方便前端刷新。

    如果要用到这个live reload的功能,需要在chrome浏览器中安装一个Remote Live Reload 的插件。

    image

    这个插件主要是通过引入的脚本livereload.js在 livereload 服务和浏览器之间建立了一个 WebSocket 连接。每当监测到文件的变动,livereload 服务就会向浏览器发送一个信号,浏览器收到信号后就刷新页面,实现了实时刷新的效果。

    全局配置

    spring-boot-devtools 提供了一个全局配置文件,方便你的开发环境配置,该文件在$HOME 目录下面的 .spring-boot-devtools.properties 。

    本文的例子可以参考 https://github.com/ddean2009/learn-springboot2/tree/master/springboot-devtool

    更多教程请参考 flydean的博客

    相关文章

      网友评论

        本文标题:Spring Boot devtool的使用

        本文链接:https://www.haomeiwen.com/subject/vnwkqhtx.html