15. springBoot——热部署

SprigBoot 的热部署方式分为两种:

1)SpringLoader 插件

2)DevTools 工具

1. SpringLoader插件

插件的使用又可以分为两种方式

1.1 以 maven 插件方式使用 SpringLoader

使用步骤:

1)添加插件

<!-- springloader 插件 -->
<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
			<dependencies>
				<dependency>
					<groupId>org.springframework</groupId>
					<artifactId>springloaded</artifactId>
					<version>1.2.5.RELEASE</version>
				</dependency>
			</dependencies>
		</plugin>
	</plugins>
</build>

注意:对于maven插件,一旦在pom中配置了插件,那么对于这个插件的启动,必须要依赖于maven的命令才能生效。

2)使用maven命令启动项目

该命令是:spring-boot:run

然后我们做测试,发现修改java代码之后,代码生效了,但是页面没有生效,如图;

理想中的结果是界面也输出showUser xxx才对,所以,我们可以知道该方式存在一个缺陷:

 就是可以对 Java 代码做热部署处理。 但是对页面无能为力
我们将服务关掉,重新运行,发现会报端口占用错误,我们明明关闭了服务,为什么还会报这个错误了,这是因为,使用该插件是在后台开启一个进程来完成的,所以,我们还需要手动关闭该进行才行,从而又引出了该插件的另一个缺陷问题;

Springloader 热部署程序是在系统后台以进程的形式来运行。 需要手动关闭该进程,比较麻烦。
如图:

关闭之后,再次启动,就不会报错了。

1.2 在项目中直接使用 jar 包的方式

1)添加springloaded.jar

新建一个lib目录,将springloader的jar放进去,如图;

2)启动项目的时候设置参数

-javaagent:.\lib\springloaded-1.2.5.RELEASE.jar -noverify

如图:

在启动类中,右键,run as - run configuration

然后在VM arguments中加入参数命令

运行即可。

注意:该方式一样的,也是对页面无能为力。但是,不需要我们手动关闭进程了。

2. DevTools 工具

2.1 SpringLoader 与 DevTools 的区别

SpringLoader: SpringLoader 在部署项目时使用的是热部署的方式。
DevTools: DevTools 在部署项目时使用的是重新部署的方式

2.2 使用步骤

直接添加坐标接

<!-- DevTools 的坐标 -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-devtools</artifactId>
	<optional>true</optional>
</dependency>

注意:<optional>true</optional>的意思是,当其他项目继承该pom的时候,如果dependency加上了该配置,表示,当前依赖禁止向下传递。

然后,我们就可以随意的修改我们的代码,代码会自动的重新发布了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值