【SpringBoot】SpringBoot 熱部署(二十七)


  在開發中我們修改一個Java文件后想看到效果不得不重啟應用,這導致大量時間花費,我們希望不重啟應用的情況下,程序可以自動部署(熱部署)。有以下四種情況,如何能實現熱部署。

 

1、模版引擎

  1)在Spring Boot中開發情況下禁用模板引擎的cache

  2)頁面模板改變ctrl+F9可以重新編譯當前頁面並生效

2、Spring Loaded

  Spring官方提供的熱部署程序,實現修改類文件的熱部署

  下載Spring Loaded(項目地址https://github.com/spring-projects/spring-loaded)

  添加運行時參數;

    -javaagent:C:/springloaded-1.2.5.RELEASE.jar –noverify

3、JRebel

  1)收費的一個熱部署軟件

  2)安裝插件使用即可

4、Spring Boot Devtools(推薦)

  1)引入依賴

1 <dependency>
2     <groupId>org.springframework.boot</groupId>
3     <artifactId>spring-boot-devtools</artifactId>
4     <optional>true</optional>
5 </dependency>

  2)項目啟動時重新編譯(IDEA使用ctrl+F9)

  測試devtools

  a、新建SpringBoot Web項目,依賴如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6 
 7     <groupId>com.test</groupId>
 8     <artifactId>test-springboot-devtools</artifactId>
 9     <version>1.0-SNAPSHOT</version>
10 
11 
12     <parent>
13         <groupId>org.springframework.boot</groupId>
14         <artifactId>spring-boot-starter-parent</artifactId>
15         <version>2.1.8.RELEASE</version>
16     </parent>
17 
18     <properties>
19         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
20         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
21         <java.version>1.8</java.version>
22     </properties>
23 
24     <dependencies>
25         <dependency>
26             <groupId>org.springframework.boot</groupId>
27             <artifactId>spring-boot-starter-web</artifactId>
28         </dependency>
29 
30         <dependency>
31             <groupId>org.springframework.boot</groupId>
32             <artifactId>spring-boot-starter-thymeleaf</artifactId>
33         </dependency>
34 
35         <dependency>
36             <groupId>org.springframework.boot</groupId>
37             <artifactId>spring-boot-devtools</artifactId>
38             <optional>true</optional>
39         </dependency>
40 
41         <dependency>
42             <groupId>org.springframework.boot</groupId>
43             <artifactId>spring-boot-starter-test</artifactId>
44             <scope>test</scope>
45         </dependency>
46 
47     </dependencies>
48 
49 
50     <!-- SpringBoot打包插件,可以將代碼打包成一個可執行的jar包 -->
51     <build>
52         <plugins>
53             <plugin>
54                 <groupId>org.springframework.boot</groupId>
55                 <artifactId>spring-boot-maven-plugin</artifactId>
56             </plugin>
57         </plugins>
58     </build>
59 </project>
pom.xml

  b、編輯一個controller,如下:

1 @Controller
2 public class HelloController {
3 
4     @RequestMapping("/hello")
5     public String hello(){
6         return "hello";
7     }
8

  c、編譯一個頁面hello.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8     <h3>Hello World!!!</h3>
 9 </body>
10 </html>

  d、啟動項目,使用地址http://localhost:8080/hello,訪問界面

    

    • 修改頁面內容,Hello World!!! --》World!!!,ctrl+F9重新編譯項目,查看顯示內容
    • 修改controller映射路徑,/hello --》/abc,ctrl+F9重新編譯項目,查看顯示內容

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM