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/**