Spring Boot入门教程(三十二): DevTools

一:简介

Spring Boot包括一组额外的工具,可以使应用程序开发体验更加愉快。 spring-boot-devtools模块可以包含在任何项目中,它可以节省大量的时间。 想要使用devtools支持,只需将模块依赖关系添加到你的构建中

  1. pom.xml
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
    <scope>runtime</scope>
</dependency>

将依赖标记为optional可选是一种最佳做法,可以防止将devtools依赖传递到其他模块中

二:功能

1. 属性默认值

Spring Boot 支持的一些库中会使用缓存来提高性能。例如模版引擎将缓存编译后的模板,以避免重复解析模板文件。 此外,Spring MVC可以在服务静态资源时向响应中添加HTTP缓存头。

虽然缓存在生产中非常有益,但它在开发过程中可能会产生反效果,它会阻止你看到刚刚在应用程序中进行的更改。 因此,spring-boot-devtools将默认禁用这些缓存选项。

缓存选项通常在application.properties文件中配置。 例如,Thymeleaf提供了spring.thymeleaf.cache属性。spring-boot-devtools模块不需要手动设置这些属性,而是自动应用合理的开发时配置。

2. 自动重启

spring-boot-devtools会在类路径上的文件发生更改时自动重启。 这在IDE中工作时可能是一个有用的功能,因为它为代码更改提供了非常快的反馈循环。 默认情况下会监视类路径上的所有变动,但请注意,某些资源(如静态资源和视图模板)不需要重启应用程序。

触发重启:当DevTools监视类路径资源时,触发重启的唯一方法是更新类路径, 在IntelliJ IDEA中,构建项目( Build -> Build Project)或者Command + F9 将具有相同的效果。

@Controller
public class SampleController {

    @RequestMapping("/index")
    public String index(Model model){
        model.addAttribute("username", "[mengday]");
        return "index";
    }
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
user:  [[${username}]]
</body>
</html>

当模板内容或者类发生更改时需要构建Build一下(Command + F9)

3. 实时加载

LiveReload 插件安装, 安装后,点击浏览器上的右上角,开启,Enable,让更改模板文件,需要构建一下(Command + Shift + F9),然后就可以看到浏览器中的页面内容会自动加载最新的,如果不装此插件只能手动的刷新浏览器来加载。

这里写图片描述

这里写图片描述

相关博客:https://blog.csdn.net/isea533/article/details/70495714

猜你喜欢

转载自blog.csdn.net/vbirdbest/article/details/79894825