1. 程式人生 > >spring boot 1.5.4 集成devTools(五)

spring boot 1.5.4 集成devTools(五)

springboot springboot1.5.4 springboot整合jsp springboot之web開發 springboot熱部署devtools

上一篇:spring boot 1.5.4 整合JSP(四)

1.1 Spring Boot集成devTools

spring boot集成devTools源碼:https://git.oschina.net/wyait/springboot1.5.4.git

實現步驟:

技術分享Eclipse Project 必須開啟了Build Automatically

,如果關閉了自動編譯的功能,熱部署無效。

1. pom引入devTools依賴和插件配置

<!-- devtools-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-devtools</artifactId>

<optional>true</optional>

<!--optional=true,依賴不會傳遞,該項目依賴

devtools;之後依賴SpringBoot1項目的項目如果想要使用devtools,需要重新引入 -->

</dependency>

2.可以根據需要調整application.properties文件(具體配置內容參考:application.propertis

  • application.properties中配置spring.devtools.restart.enabled=false,此時restart類加載器還會初始化,但不會監視文件更新。

SprintApplication.run之前調用System.setProperty(spring.devtools.restart.enabled

, false);可以完全關閉重啟支持,配置內容:

  • 默認情況下,/META-INF/maven/META-INF/resources/resources/static/templates/public這些文件夾下的文件修改不會使應用重啟,但是會重新加載(devtools內嵌了一個LiveReload server,當資源發生改變時,瀏覽器刷新)。

  • 如果想改變默認的設置,可以自己設置不重啟的目錄:spring.devtools.restart.exclude=static/**,public/**,這樣的話,就只有這兩個目錄下的文件修改不會導致restart操作了。

  • 如果要在保留默認設置的基礎上還要添加其他的排除目錄:spring.devtools.restart.additional-exclude

  • 如果想要使得當非classpath下的文件發生變化時應用得以重啟,使用:spring.devtools.restart.additional-paths,這樣devtools就會將該目錄列入了監聽範圍。

3. 啟動,測試

  • 修改類–>保存:應用會重啟

  • 修改配置文件–>保存:應用會重啟

  • 修改頁面–>保存:應用不會重啟,但會重新加載,頁面會刷新(原理是將spring.thymeleaf.cache設為false,參考:Spring Boot配置模板引擎)

  • 集成問題說明

如果使用dubeg As啟動,會進入斷點:SilentExitException。正常啟動沒有該問題。

1 devtools可以實現頁面熱部署(即頁面修改後會立即生效,這個可以直接在application.properties文件中配置spring.thymeleaf.cache=false來實現),實現類文件熱部署(類文件修改後不會立即生效),實現對屬性文件的熱部署。devtools會監聽classpath下的文件變動,並且會立即重啟應用(發生在保存時機),註意:因為其采用的虛擬機機制,該項重啟是很快的

2)配置了後在修改java文件後也就支持了熱啟動,不過這種方式是屬於項目重啟(速度比較快的項目重啟),會清空session中的值,也就是如果有用戶登陸的話,項目重啟後需要重新登陸。默認情況下,/META-INF/maven/META-INF/resources/resources/static/templates/public這些文件夾下的文件修改不會使應用重啟,但是會重新加載(devtools內嵌了一個LiveReload server,當資源發生改變時,瀏覽器刷新)。


spring boot系列文章:

spring boot 1.5.4 概述(一)

spring boot 1.5.4 入門和原理(二)

spring boot 1.5.4 之web開發(三)

spring boot 1.5.4 整合JSP(四)

spring boot 1.5.4 集成devTools(五)

spring boot 1.5.4 集成JdbcTemplate(六)

spring boot 1.5.4 集成spring-Data-JPA(七)


本文出自 “IT技術解決方案” 博客,請務必保留此出處http://wyait.blog.51cto.com/12674066/1968302

spring boot 1.5.4 集成devTools(五)