Spring Boot 热部署之spring-boot-devtools

时间:2022-02-13 23:22:55

1.引用问题

当我们在写程序的时候,只是把打印的信息修改一下,就需要重新部署,如果我们是这样的编写代码的话,我们一天到晚就是,重新启动程序,这样的话就会很影响项目的进度,而且要是项目比较大的话,很花时间的,故spring boot 提供了热部署,只是我们的代码改变了,spring boot 就会自动的重启项目,节省了很多的时间

2.spring boot 热部署的方式

2.1 spring loader

2.2 spring-boot-devtools

由于spring loader需要的相应的配置和命令来启动项目,有时候有些代码修改了,也不会重新启动项目,故很少去使用,我重点讲解一下 spring-boot-devtools的配置,下面跟着我一起探讨

3.修改一下,pom文件,引入相应的jar包即可

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <version>1.5.1.RELEASE</version>
            <optional>true</optional>
</dependency>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
    </plugins>
</build>

测试:(以我们上次例子)
当我们修改HelloWorld这个方法的返回值,之后进行保存,查看控制台,当出现”restartedMain”,之后,在浏览器查看,出现了修改后的返回值,表示我们的热部署配置成功
Spring Boot 热部署之spring-boot-devtools

4 java文件改变,spring boot 重启

当我们修改一个java类的时候,重新编译一下,spring boot 就会重启,当我们这个重启过程很快,当java文件重新编译的时候,devtools会监听程序,一旦发现有变化就会重启spring boot

5.页面文件修改,spring boot 重启

如果你想要页面也能够实现热部署,你必须在application.properties文件中配置spring.thymeleaf.cache=false,否则项目不会重新启动