热部署
热部署重要的是:添加一个jar包
第一步:在我们项目中的pom.xml文件中添加spring-boot-devtools这个jar包,Maven会帮我们自动下载的
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional><!--项目不支持传递,子项目不支持热部署-->
<scope>true</scope><!--必须添加,否则无法生效-->
<version>1.5.6.RELEASE</version>
</dependency>
在pom.xml下面添加中间那项配置configuration
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork><!--还需要添加此配置-->
</configuration>
</plugin>
</plugins>
</build>
再给讲解一些热部署的这个工具的作用机制:(网上看到的感觉说的很在理)
devtools:是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件、属性文件、页面等)时,会重新启动应用(由于其采用的双类加载器机制,这个启动会非常快,如果发现这个启动比较慢,可以选择使用jrebel)
-
双类加载器机制:boot使用了两个类加载器来实现重启(restart)机制:base类加载器(简称bc)+restart类加载器(简称rc)。
- bc:用于加载不会改变的jar(eg.第三方依赖的jar)
- rc:用于加载我们正在开发的jar(eg.整个项目里我们自己编写的类)。当应用重启后,原先的rc被丢掉、重新new一个rc来加载这些修改过的东西,而bc却不需要动一下。这就是devtools重启速度快的原因。
第二步:要在IDEA中设置一些属性
这个是实现项目的自动编译
接下来按快捷键alt+shift+ctrl+/ 出现选择第一个registry,之后在里面找到下图中的这个running选择打勾
在你的这个下选择Edit congfiguration
你的左侧没有Maven的话,就选择+号,添加Maven
在command line:写spring-boot:run
Name:是取个名字你认识就可以
就这样热部署完毕
用你的spring-boot:run重新启动一下项目,修改一下你你的Controller中的方法的一些代码,看看你的控制台是否变化,就可以看出来你是否有部署好你的热部署
在你的浏览器上试试
【版本声明】本文为博主原创文章,转载请注明出处