快捷搜索:  汽车  科技

springboot项目部署和访问:Boot开发中实现热部署的几种方式

springboot项目部署和访问:Boot开发中实现热部署的几种方式spring.freemarker.cache=falseFreeMarker的配置:在Spring Boot里,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面,因此,我们可以在application.properties或者application.yml中关闭模板引擎的缓存:Thymeleaf的配置:spring.thymeleaf.cache=false

开发中,每次对类的修改,都需要重启服务,很浪费时间,影响效率。Spring boot作为一站式开发的优良工具,那么就要使用它的热部署功能,避免每次都要手动去重启服务。


springboot项目部署和访问:Boot开发中实现热部署的几种方式(1)

关于热部署,分为以下几类:

1、模板热部署

在Spring Boot里,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面,因此,我们可以在application.properties或者application.yml中关闭模板引擎的缓存:

Thymeleaf的配置:

spring.thymeleaf.cache=false

FreeMarker的配置:

spring.freemarker.cache=false

Groovy的配置:

spring.groovy.template.cache=false

Velocity的配置:

spring.velocity.cache=false

2、Spring Loaded

Spring Loaded可实现修改类文件的热部署。下载链接为(https://repo.spring.io/release/org/springframework/springloaded/1.2.5.RELEASE/springloaded-1.2.5.RELEASE.jar),Github地址是:https://github.com/spring-projects/spring-loaded


springboot项目部署和访问:Boot开发中实现热部署的几种方式(2)

从上图中的介绍可以看出:spring-loaded是Java代理,可在正在运行的JVM中重新加载类。开发中使用方法就是下载到本地,然后配置run configurations:


springboot项目部署和访问:Boot开发中实现热部署的几种方式(3)


springboot项目部署和访问:Boot开发中实现热部署的几种方式(4)


在Arguments标签页的vm arguments中填入如下内容:-javaagent:/data/jar/springloaded-1.2.5.RELEASE.jar -noverify:


springboot项目部署和访问:Boot开发中实现热部署的几种方式(5)

3、JRebel

JRebel是Java开发热部署的最佳工具,其对Spring Boot也提供了极佳的支持。由于JRebel为收费软件,但可试用几天,暂不做演示。

4、spring-boot-devtools

这篇文章主要来讲一讲spring-boot-devtools的热部署配置,以及在idea配置好后不起作用的解决办法。

在Spring Boot项目中添加spring-boot-devtools依赖:

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


springboot项目部署和访问:Boot开发中实现热部署的几种方式(6)

如果是Eclipse,配置到这里,只要重启服务,热部署就会生效了。但是IDEA的话,热部署还不会生效,因为devTools只会在类路径上的文件发生更改时才会自动重启,而IDEA默认不会自动编译。这个时候就要配置idea的自动编译了,配置步骤如下:


springboot项目部署和访问:Boot开发中实现热部署的几种方式(7)

勾选build project automatically.

连续按下shift键,调出搜索框,输入registry:


springboot项目部署和访问:Boot开发中实现热部署的几种方式(8)


springboot项目部署和访问:Boot开发中实现热部署的几种方式(9)

这时我们修改文件,Spring Boot就引入了热部署,不需要我们手动重启服务了!

如下,我们在运行服务的过程中修改某一文件,得到下面的自动重动信息:


springboot项目部署和访问:Boot开发中实现热部署的几种方式(10)

猜您喜欢: