天天看點

springboot自學之路-08(springboot的熱部署)spring-boot-devtools

除了可以使用jrebel來實作熱部署,還可以使用spring-boot的spring-boot-devtools來實作熱部署。

1.在pom檔案中引入依賴

<!--springboot 的熱部署工具 begin-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
		</dependency>
		<!--springboot 的熱部署工具 end-->
           

原理:springboot的重新開機是reload重新開機,通過監控classpath的變化,如果classpath下的檔案發生變化,則觸發重新開機。springboot通過2個classpath來觸發重新開機,一個baseclassloader中加載不變的類,一個restart classloader中加載classpath中的類,重新開機的時候,重新開機classloader中的類丢棄并重新加載。是以springboot的重新開機會比冷啟動快很多。

2.修改類檔案或者靜态資源後必須點選編譯才可以觸發springboot自動重新開機

springboot自學之路-08(springboot的熱部署)spring-boot-devtools

3.排除資源

可以在application.properties中添加以下配置

#springboot的熱部署
#禁用自動重新開機
#spring.devtools.restart.enabled=false
#排除哪些資源,這些資源修改并編譯後不會自動重新開機
spring.devtools.restart.exclude=static/**,templates/**
##處理預設配置排除之外的
spring.devtools.restart.additional-exclude=public/**
#
##使用triggerfile重新開機政策(注意這個檔案不要放到default-execlude檔案夾下)
#spring.devtools.restart.trigger-file=trigger.file
           

繼續閱讀