实现SpringBoot的热部署方法(IDEA上操作)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Steriles_/article/details/83031711

热部署原理:

配置文件中用了spring-boot-devtools主要是因为这是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动更快。其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。即devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机)

温馨提示:使用了热部署之后,千万不要频繁的进行ctrl+s(保存)操作,因为这样的话,就会自动进行部署重启了,这样会影响性能的哦~

步骤:

(1)pom.xml 添加依赖

<!--配置SpringBoot的热部署-->  
<dependency>  
   <groupId>org.springframework.boot</groupId>  
   <artifactId>spring-boot-devtools</artifactId>  
   <optional>true</optional>  
</dependency>  


<plugin>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-maven-plugin</artifactId>  
    <configuration>  
    <fork>true</fork><!--注意要修改这里-->  
    </configuration>  
</plugin>  

(2)在 application.properties 配置文件中添加缓存禁止配置

#禁用缓存---要配置,否则无法生效  
spring.thymeleaf.cache=false  
spring.freemarker.cache=false  
spring.groovy.template.cache=false  
spring.velocity.cache=false  

(3)修改 IDEA 的配置

1、按下Ctrl+Shift+A,在弹出的窗口中输入:make project automatically,输入完毕后回车会看到以下页面,根据图中指示勾上选项,完成后关闭窗口。

2、再按下Ctrl+Shift+A,在弹窗中输入:Registry,输入完毕后,鼠标选中跟下图所示一样的选项后并进行回车操作。

3、然后在出现的页面中,找到如下图所示的选项,在旁边的方框中进行勾选。该选项比较靠后,还是比较好找的。

(4)修改浏览器中的缓存禁止(以谷歌浏览器做代表,其他浏览器类似)

1、按下Ctrl+Shift+J,打开开发者功能(或者直接按下 F12 键也行),找到Network这一栏并点击。

2、再出现的页面中,勾选禁止缓存,如下图所示

猜你喜欢

转载自blog.csdn.net/Steriles_/article/details/83031711