SpringBoot热部署

SpringBoot热部署

(SpringBoot高级)

SprigBoot的热部署方式分为两种

               SpringLoader插件

                DevTools工具

一、         SpringLoader插件的使用

 

1         创建项目

2         修改pom文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <parent>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-parent</artifactId>

    <version>1.5.10.RELEASE</version>

  </parent>

  <groupId>com.bjsxt</groupId>

  <artifactId>20-spring-boot-springloader</artifactId>

  <version>0.0.1-SNAPSHOT</version>

 

  <properties>

  <java.version>1.7</java.version>

  <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>

  <thymeleaf-layout-dialect.version>2.0.4</thymeleaf-layout-dialect.version>

  </properties>

 

  <dependencies>

    <!-- springBoot的启动器 -->

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

    </dependency>

    <!-- thymeleaf的启动器 -->

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-thymeleaf</artifactId>

    </dependency>

  </dependencies>

</project>

3         创建Controller

/**

 * SpringBoot----SpringLoader

 *

 *

 */

@Controller

publicclass UsersController {

 

    @RequestMapping("/show")

    public String showPage(){

        return"index";

    }

}

4         编写页面

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

    <span th:text="Hello...."></span>

</body>

</html>

5         创建启动类

@SpringBootApplication

publicclass App {

    publicstaticvoid main(String[] args) {

        SpringApplication.run(App.class, args);

    }

}

 

 

6         使用SpringLoader进行项目的热部署

6.1     方式一:以maven插件方式使用SpringLoader
6.1.1        在pom文件中添加插件配置

  <!-- 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>

 

6.1.2        使用maven的命令起来启动

spring-boot:run

SpringLoader缺陷:就是Java代码做部署处理。但是对页面无能为力。

 

6.1.3        注意:这种方式的缺点是Springloader热部署程序是在系统后台以进程的形式来运行。需要手动关闭该进程



7         方式二:在项目中直接使用jar包的方式

7.1     添加springloader的jar包

7.2     启动方式

启动命令:

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

 

 

二、         DevTools工具

1         SpringLoader与DevTools的区别:

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

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

 

2         修改项目的pom文件添加devtools的依赖

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <parent>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-parent</artifactId>

    <version>1.5.10.RELEASE</version>

  </parent>

  <groupId>com.bjsxt</groupId>

  <artifactId>21-spring-boot-devtools</artifactId>

  <version>0.0.1-SNAPSHOT</version>

 

  <properties>

  <java.version>1.7</java.version>

  <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>

  <thymeleaf-layout-dialect.version>2.0.4</thymeleaf-layout-dialect.version>

  </properties>

 

  <dependencies>

    <!-- springBoot的启动器 -->

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

    </dependency>

    <!-- thymeleaf的启动器 -->

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-thymeleaf</artifactId>

    </dependency>

    <!-- DevTools的坐标 -->

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-devtools</artifactId>

 <!--热部署不被子项目所继承,既就是不向下进行传递 -->

        <optional>true</optional>

    </dependency>

  </dependencies>

 

</project>

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值