springboot 热部署没用_SpringBoot实现热部署(修改class不需要重启)

本文介绍了Spring Boot的devtools模块如何实现热部署,包括页面和类文件的热更新。通过在pom.xml中添加devtools依赖,并在application.properties中配置相关参数,如禁用模板引擎缓存,启用热部署等,可以实现在开发过程中修改代码后无需手动重启应用即可看到效果。热部署机制主要依赖于两个类加载器:BaseClassLoader和RestartClassLoader,分别负责加载不变的类和开发中的类,从而实现快速重启。

https://www.cnblogs.com/MrXiaoAndDong/p/SpringBootHotDeploy.html

热部署:

devtools可以实现页面热部署(即页面修改后会立即生效,

这个可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现)

实现类文件热部署(类文件修改后不会立即生效),实现对属性文件的热部署。

注意:因为采用的虚拟机机制,该项重启是很快的

(1)base classloader (Base类加载器):加载不改变的Class,例如:第三方提供的jar包。

(2)restart classloader (Restart类加载器):加载正在开发的Class。

为什么启动很快,因为重启的时候只是加载了在开发的Class,没用重新加载第三方的jar包。

1.使用方法:只需要在pom中加入如下依赖即可:

org.springframework.boot

spring-boot-devtools

1.5.6.RELEASE

true

2.修改application.properties

#关闭缓存,即时刷新

#spring.freemaker.cashe=false

spring.thymeleaf.cache=true

#热部署生效

spring.devtools.restart.enable=true

#设置重启的目录,添加那个目录的文件需要restart

spring.devtools.restart.additional-paths=src/main/java

#为mybatis设置,生产环境可删除

#restart.include.mapper=/mapper-[\\w-\\.]+jar

#restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar

#排除那个目录的文件不需要restart

#spring.devtools.restart.exclude=static/**,public/**

#classpath目录下的WEB-INF文件夹内容修改不重启

#spring.devtools.restart.exclude=WEB-INF/**

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值