SpringBoot實現熱部署(修改class不須要重啓)

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

1.使用方法:只須要在pom中加入以下依賴便可:spring

 

<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/**
相關文章
相關標籤/搜索