Spring Boot热部署配置方式详解

一、使用devtools工具包,每次修改后会整个项目重新加载

1 pom.xml文件

热部署功能spring-boot-1.3开始有的

<!--添加依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 -->
    <optional>true</optional>
</dependency>

:project 中添加 spring-boot-maven-plugin,主要在eclipse中使用,idea中不需要添加此配置。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
    </plugins>
</build>

 

2 更改idea配置

  1) “File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically” 。

  2) 组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running” 。

Chrome禁用缓存

  F12或者“Ctrl+Shift+I”,打开开发者工具,“Network” 选项卡下 选中打勾 “Disable Cache(while DevTools is open)” 

二、使用springloaded配置pom.xml文件,使用mvn spring-boot:run启动

注:需要在spring-boot-maven-plugin中添加dependency,且确保每次修改实时生效,修改后需要build project(ctrl+F9)

  <!-- 热部署方案二 -->
    <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.6.RELEASE</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

三、使用springloaded本地加载启动,配置jvm参数

注:先下载springloaded工具包存放到指定目录(获取方法:http://repo.spring.io/release/org/springframework/springloaded/或者使用mvn下载),启动项目时,在jvm参数中配置javaagent:-javaagent:E:\project\learn\springloaded-1.2.5.RELEASE.jar -noverify(本地jar包地址) -noverify。       

参数说明:-javaagent:指的是在执行main方法之前执行特定代码; -noverify 关闭java字节码校验功能

-

总结:热部署设置后最好重启下IDE。开发测试环境下使用第一种方式;在生产环境下,建议第三种,使用脚本启动

devtools和springloaded都是spring官网为了spring项目所推出的jar包,加之springBoot框架内嵌服务器的优势,使得改动后的项目部署变得非常简单;细心地会发现真正实现热部署的spingloaded,devtools只是实现了热启动而已,从控制台日志就可以看出来。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值