【Spring Boot 2.0学习之旅-03-1】SpringBoot2.x 使用Dev-tool热部署

第三章:SpringBoot热部署devtool和配置文件自动注入实战

03-1 SpringBoot2.x 使用Dev-tool热部署

简介:介绍什么是热部署,使用springboot结合dev-tool工具,快速加载启动应用
	官方地址:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#using-boot-devtools
	核心依赖包:
		<dependency>  
		     <groupId>org.springframework.boot</groupId>  
		     <artifactId>spring-boot-devtools</artifactId>  
		     <optional>true</optional>  
		 </dependency>
	添加依赖后,在ide里面重启应用,后续修改后马上可以生效
	
	classloader
官方地址:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#using-boot-devtools
核心依赖包:
	<dependency>  
	     <groupId>org.springframework.boot</groupId>  
	     <artifactId>spring-boot-devtools</artifactId>  
	     <optional>true</optional>  
	 </dependency>
添加依赖后,在ide里面重启应用,后续修改后马上可以生效

​	不被热部署的文件
 		1、/META-INF/maven, /META-INF/resources, /resources, /static, /public, or /templates
 		2、指定文件不进行热部署 spring.devtools.restart.exclude=static/**,public/**
 		3、手工触发重启 spring.devtools.restart.trigger-file=trigger.txt
 			改代码不重启,通过一个文本去控制

 		https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#using-boot-devtools-restart-exclude

 	注意点:生产环境不要开启这个功能,如果用java -jar启动,springBoot是不会进行热部署的

1.热部署介绍

spring文档介绍

由于 Spring Boot 应用程序是普通的 Java 应用程序,因此 JVM 热交换应该是开箱即用的。JVM 热交换在某种程度上受限于它可以替换的字节码。对于更完整的解决方案,可以使用JRebel

spring-boot-devtools模块还包括对快速应用程序重新启动的支持。

开发者工具

Spring Boot 包含一组额外的工具,可以使应用程序开发体验更加愉快。该spring-boot-devtools模块可以包含在任何项目中,以提供额外的开发时功能。要包含 devtools 支持,请将模块依赖项添加到您的构建中,如以下 Maven 和 Gradle 清单所示:

Maven:

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

Gradle:

dependencies {
    developmentOnly("org.springframework.boot:spring-boot-devtools")
}

运行完全打包的应用程序时,开发人员工具会自动禁用。如果您的应用程序是从java -jar特殊的类加载器启动或启动的,则它被视为“生产应用程序”。您可以使用spring.devtools.restart.enabled系统属性来控制此行为。要启用 devtools,无论用于启动应用程序的类加载器如何,请设置-Dspring.devtools.restart.enabled=true系统属性。这不能在运行 devtools 存在安全风险的生产环境中完成。要禁用 devtools,请排除依赖项或设置-Dspring.devtools.restart.enabled=false系统属性。

如果添加依赖文件之后不生效的话解决措施:

IDEA的setting中设置

在这里插入图片描述

之后快捷键

ctrl+shift+alt+/,选择registry。

在这里插入图片描述

在这里插入图片描述

注意:不被热部署的文件
1、/META-INF/maven, /META-INF/resources, /resources, /static, /public, or /templates

2、指定文件不进行热部署 spring.devtools.restart.exclude=static/,public/
3、手工触发重启 spring.devtools.restart.trigger-file=trigger.txt
改代码不重启,通过一个文本去控制

还有后续工作,大家点赞评论收藏关注走起来!!!学起来!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值