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”,之后,在浏览器查看,出现了修改后的返回值,表示我们的热部署配置成功
4 java文件改变,spring boot 重启
当我们修改一个java类的时候,重新编译一下,spring boot 就会重启,当我们这个重启过程很快,当java文件重新编译的时候,devtools会监听程序,一旦发现有变化就会重启spring boot
5.页面文件修改,spring boot 重启
如果你想要页面也能够实现热部署,你必须在application.properties文件中配置spring.thymeleaf.cache=false,否则项目不会重新启动