SpringBoot實現熱部署(修改class不需要重啟)


https://www.cnblogs.com/MrXiaoAndDong/p/SpringBootHotDeploy.html

 

熱部署:
devtools可以實現頁面熱部署(即頁面修改后會立即生效,
這個可以直接在application.properties文件中配置spring.thymeleaf.cache=false來實現)
實現類文件熱部署(類文件修改后不會立即生效),實現對屬性文件的熱部署。
注意:因為采用的虛擬機機制,該項重啟是很快的
(1)base classloader (Base類加載器):加載不改變的Class,例如:第三方提供的jar包。
(2)restart classloader (Restart類加載器):加載正在開發的Class。
為什么啟動很快,因為重啟的時候只是加載了在開發的Class,沒用重新加載第三方的jar包。

1.使用方法:只需要在pom中加入如下依賴即可:

 

復制代碼
<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <version>1.5.6.RELEASE</version>
      <!--optional=true,依賴不會傳遞,該項目依賴devtools;之后
         依賴boot項目的項目如果想要使用devtools,需要重新引入-->
      <optional>true</optional>
</dependency>
復制代碼

 2.修改application.properties

復制代碼
#關閉緩存,即時刷新
#spring.freemaker.cashe=false
spring.thymeleaf.cache=true

#熱部署生效
spring.devtools.restart.enable=true
#設置重啟的目錄,添加那個目錄的文件需要restart
spring.devtools.restart.additional-paths=src/main/java
#為mybatis設置,生產環境可刪除
#restart.include.mapper=/mapper-[\\w-\\.]+jar
#restart.include.pagehelper=/pagehelper-[\\w-\\.]+jar
#排除那個目錄的文件不需要restart
#spring.devtools.restart.exclude=static/**,public/**
#classpath目錄下的WEB-INF文件夾內容修改不重啟
#spring.devtools.restart.exclude=WEB-INF/**
復制代碼


免責聲明!

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



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