springboot学习:《知识篇》开发者工具spring-boot-devtools(下)

6、添加路径
使用spring.devtools.restart.additional-paths来添加非classpath的文件路径,添加后的路径下文件修改后会导致重启。

7、取消重启
你可以在application.properties下设置spring.devtools.restart.enabled=false来取消重启。这样做仍然会初始化restart类加载器,但它不会监视文件更改。

如果要完全关闭重启功能,需要在调用SpringApplication.run(…​)前关闭,如:

public static void main(String[] args) {
	System.setProperty("spring.devtools.restart.enabled", "false");
	SpringApplication.run(MyApp.class, args);
}

8、设置触发文件
trigger file是一个当修改时触发重启检查的文件夹。需要注意的是,所有的文件修改都会触发检查,但是只有重启检查才能启动重启。
使用spring.devtools.restart.trigger-file=.reloadtriggersrc/main/resources/.reloadtrigger设置为trigger file。只有在该目录下文件修改时才会重启。

9、配置Restart 类加载器
在使用devtools的应用中,有两个类加载器。restart类加载器和base类加载器。base类加载器加载常规的jar文件。restart类加载器会预先加载你所修改的类,在应用重启后把这些类加载到类路径中后,继续创建一个新的restart类加载器。

你可以在META-INF/spring-devtools.properties中配置restart类加载器。restart.include属性将类拉到restart类加载器。restart.exclude将类压入到base类加载器。

10、局限性
重新启动功能不能很好地处理使用标准ObjectInputStream反序列化的对象。如果需要反序列化数据,可能需要将Spring的ConfigurableObjectInputStream与Thread.currenthread().getContextClassLoader()结合使用。

11、LiveReload
spring-boot-devtools包含了LiveReload server 来应对浏览器的刷新。适用的浏览器有Chrome, Firefox 和Safari。你可以关闭它,通过设置spring.devtools.livereload.enabled=false

12、全局设置
在你的$HOME文件夹中添加一个.spring-boot-devtools.properties的文件,里面的配置都会用于在你机器里面的所有使用了devtools的Spring Boot应用。

发布了20 篇原创文章 · 获赞 0 · 访问量 506

猜你喜欢

转载自blog.csdn.net/weixin_43859070/article/details/104079692
今日推荐