SpringBoot热部署

SpringBoot热部署

(SpringBoot高级)

SprigBoot的热部署方式分为两种

               SpringLoader插件

                DevTools工具

一、         SpringLoader插件的使用

 

1         创建项目

SpringBoot热部署_第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.0modelVersion>

  <parent>

    <groupId>org.springframework.bootgroupId>

    <artifactId>spring-boot-starter-parentartifactId>

    <version>1.5.10.RELEASEversion>

  parent>

  <groupId>com.bjsxtgroupId>

  <artifactId>20-spring-boot-springloaderartifactId>

  <version>0.0.1-SNAPSHOTversion>

 

  <properties>

  <java.version>1.7java.version>

  <thymeleaf.version>3.0.2.RELEASEthymeleaf.version>

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

  properties>

 

  <dependencies>

   

    <dependency>

        <groupId>org.springframework.bootgroupId>

        <artifactId>spring-boot-starter-webartifactId>

    dependency>

   

    <dependency>

        <groupId>org.springframework.bootgroupId>

        <artifactId>spring-boot-starter-thymeleafartifactId>

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

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文件中添加插件配置

 

    <build>

        <plugins>

            <plugin>

                <groupId>org.springframework.bootgroupId>

                <artifactId>spring-boot-maven-pluginartifactId>

                <dependencies>

                    <dependency>

                        <groupId>org.springframeworkgroupId>

                        <artifactId>springloadedartifactId>

                        <version>1.2.5.RELEASEversion>

                    dependency>

                dependencies>

            plugin>

        plugins>

    build>

 

6.1.2        使用maven的命令起来启动

spring-boot:run

SpringBoot热部署_第2张图片

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

 

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

SpringBoot热部署_第3张图片

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

7.1     添加springloader的jar包

SpringBoot热部署_第4张图片

7.2     启动方式

SpringBoot热部署_第5张图片

启动命令:

-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.0modelVersion>

  <parent>

    <groupId>org.springframework.bootgroupId>

    <artifactId>spring-boot-starter-parentartifactId>

    <version>1.5.10.RELEASEversion>

  parent>

  <groupId>com.bjsxtgroupId>

  <artifactId>21-spring-boot-devtoolsartifactId>

  <version>0.0.1-SNAPSHOTversion>

 

  <properties>

  <java.version>1.7java.version>

  <thymeleaf.version>3.0.2.RELEASEthymeleaf.version>

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

  properties>

 

  <dependencies>

   

    <dependency>

        <groupId>org.springframework.bootgroupId>

        <artifactId>spring-boot-starter-webartifactId>

    dependency>

   

    <dependency>

        <groupId>org.springframework.bootgroupId>

        <artifactId>spring-boot-starter-thymeleafartifactId>

    dependency>

    

    <dependency>

        <groupId>org.springframework.bootgroupId>

        <artifactId>spring-boot-devtoolsartifactId>

 

        <optional>trueoptional>

    dependency>

  dependencies>

 

project>

 

 

你可能感兴趣的:(框架)