
1 概述
SpringBoot提供了强大易用的Devtools来辅助开发,包括如下功能。
- 1:自动重启:当Classpath里的文件发生变化时,自动重启运行中的应用程序
 - 2: LiveReload支持:对资源的修改自动触发浏览器刷新
 - 3: 远程开发:远程部署时支持自动重启和LiveReload
 - 4: 默认的开发时属性:为一些属性提供有意义的默认开发时属性值
 

2 环境构建
在pom里面加入:
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-devtools</artifactId>
	<optional>true</optional>
	<scope>provided</scope>
</dependency>
3 自动重启
在激活了开发者工具后,Classpath里对文件做任何修改都会触发应用程序重启。为了让重启速度够快,不会修改的类(比如第三方JAR文件里的类)都加载到了基础类加载器里,而应用程序的代码则会加载到一个单独的重启类加载器里。检测到变更时,只有类加载器重启。
- 1:有些Classpath里的资源变更后不需要重启应用程序。像Thymeleaf这样的视图模板可以直接编辑,不用重启应用程序;在/static或/public里的静态资源也不用重启应用程序,所以Spring Boot开发者工具会在重启时排除掉如下目录:/META-INF/resources、/resources、/static、/public和 /templates
 - 2:可以设置spring.devtools.restart.exclude属性来覆盖默认的重启排除目录,例如: spring.devtools.restart.exclude=/static/,/templates/
 - 3:如果想彻底关闭自动重启,可以将spring.devtools.restart.enabled设置为false
 - 4:还可以设置一个触发文件,必须修改这个文件才能触发重启。例如,在修改名为my.trigger的文件前你都不希望执行重启,那么你只需像这样设置:spring.devtools.restart.trigger-file=my.trigger #4 LiveReload LiveReload支持不点刷新就直接看到修改结果,激活开发者工具后,Spring Boot会启动一个内嵌的LiveReload服务器,在资源文件变化时会触发 浏览器刷新。你要做的就是在浏览器里安装LiveReload插件。 如 果 想 要 禁 用 内 嵌 的 LiveReload 服 务 器 , 可 以如下设置: spring.devtools.livereload. Enabled=false
 
cc老师2020年高级架构师系统培训课程7月6号正式开课,现在618活动,限时折扣中。至少300学时录播课程,60小时直播课,内容包含最新架构体系,现主流的架构,以及即时更新最新的技术,从理论到实践,以及如何解决问题。面试常用的 Netty,Redis,Kafka,Zookeeper,Dubbo, Nginx + openResty + kong + Lua, ElasticSearch等技术都深入源码层级,轻松掌握这些技术,从容应对面试。对于有想跟我一样有着像提高自身技术的同学,课程的详情都在私塾的首页详细说明了,感兴趣的小伙伴,可以一起去 【私塾在线 】 学习
来源:oschina
链接:https://my.oschina.net/u/4565109/blog/4327038