Spring Boot的热部署方法分为两种
作用 :以往我们改变页面属性值或者改动代码需要将我们的项目重新启动以此来刷新改变后的,使用热部署就是将我们的项目热部署在它内置的tomcat当中 并将tomcat启动,简化了操作,提高了效率。
一、 SpringLoader插件
1.修改pom文件
<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>
<!-- spring-boot启动器 -->
<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>
2.创建 Controller
@Controller
public class UsersController {
@RequestMapping("/show")
public String showPage() {
System.out.println("ShowPage.......");
return "index";
}
}
3.编写页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<span th:text="hello......."></span>
</body>
</html>
4.创建启动类
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
5 使用 SpringLoader 进行项目的热部署
5.1方式一:以 maven 插件方式使用 SpringLoader
5.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>
5.1.2 使用 maven 的命令起来启动(右键项目 run as–>maven build)
spring-boot:run

SpringLoader 缺陷:就是 Java 代码做部署处理。但是对页面无能为力。控制台内容可改变,但是页面无法改变。
5.1.3 注意:这种方式的缺点是 Springloader 热部署程序是在系统后台以进程的形式来运行。所以需要手动关闭该进程,任务管理器中查找,将java.exe停止。
6 方式二:在项目中直接使用 jar 包的方式
6.1新建lib文件夹,将springloader jar包添加进去

6.2右键启动类Run As---->Run Configurations

启动命令:
-javaagent:.\lib\springloaded-1.2.5.RELEASE.jar -noverify
6.3 启动启动类
无需停止进程,相比第一种方式,启动关闭较为方便
二、 DevTools工具
1 SpringLoader 与 DevTools 的区别:
SpringLoader:SpringLoader 在部署项目时使用的是热部署的方式。
DevTools:DevTools 在部署项目时使用的是重新部署的方式
2.修改pom文件
<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>
<!-- spring-boot启动器 -->
<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>
相比较而言,DevTools只要把其坐标添加在pom文件中即可,当修改java代码时,会重新启动部署,同时修改页面代码时,也相应随之变化。