springboot+idea热部署的实现方法(自动刷新)
近来在使用idea做springboot的项目,但是发现每次修改之后我都需要重新将项目关闭再开启,这样比较繁琐,发现通过热部署的方式让我们可以一边修改我们的项目,然后在页面中直接通过刷新展示出来
spring为开发者提供了一个名为spring-boot-devtools
的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。
devtools的原理
深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader
被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。
这里我没有把所有的方式都尝试一遍,只是使用了devtools的方式
总的来说,一共需要两个步骤:
第一步、先设置我们的pom.xml文件,加入依赖首先是把下面代码在<dependencies>中
<!--添加热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope> </dependency>
另外下面的代码是放在<build> 下面<plugins>里的
<plugin> <!--热部署配置--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--fork:如果没有该项配置,整个devtools不会起作用--> <fork>true</fork> </configuration> </plugin>
第二步、设置IDEA的自动编译:(1)File-Settings-Compiler勾选 Build Project automatically
(2)快捷键 ctrl + shift + alt + /,选择Registry,勾上 Compiler autoMake allow when app running
这样我们的热部署就完成了,可以再我们的项目中修改返回值,或者修改Mapping的value值后,在我们的页面中刷新试试,我们的修改已经生效了,不用通过再关闭再开启项目查看了。
借鉴文章:IntelliJ IDEA中SpringBoot项目通过devtools实现热部署的方法
总结
到此这篇关于springboot+idea热部署的实现方法(自动刷新)的文章就介绍到这了,更多相关springboot+idea热部署(自动刷新)内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringData Repository Bean方法定义规范代码实例
这篇文章主要介绍了SpringData Repository Bean方法定义规范代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-08-08Java编程中使用XFire框架调用WebService程序接口
这篇文章主要介绍了Java编程中使用XFire调用WebService程序接口的方法,WebService是一种跨编程语言和跨操作系统平台的远程调用技术,需要的朋友可以参考下2015-12-12springboot下mybatis-plus开启打印sql日志的配置指南
这篇文章主要给大家介绍了关于springboot下mybatis-plus开启打印sql日志的配置指南的相关资料,还介绍了关闭打印的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2023-03-03
最新评论