Spring Boot新模块devtools
2016-06-28 17:47
375 查看
Spring Boot 1.3中引入了一个新的模块,devtools。
顾名思义,这个模块是为开发者构建的,目的在于加快开发速度。
这个模块包含在最新释出的1.3.M1中。
当然,这种情况下你可以禁用掉缓存已达到快速调试的目的,比如对于Thymeleaf,你需要设置spring.thymeleaf.cache为false。
devtools会自动帮你做到这些,禁用所有模板的缓存,包括Thymeleaf, Freemarker, Groovy Templates, Velocity, Mustache等。
当然也可以配合其他工具来达到自动重加载的目的,比如 JRebel 或者 Spring Loaded。
现在只需要引入devtools就可以了,它会自动进行重加载。重加载时服务无法访问,下一部分的精力将会放在加快重加载速度,并尽可能自动侦测需要重新加载的类,减少不必要的开销。
在浏览器方面,devtools内置了一个LiveReload服务,可以自动刷新浏览器。
目前1.3正式版还没有释出,M2版还有一个改进就是对于默认日志格式的覆盖,这也是一个直接期待的小加强。
顾名思义,这个模块是为开发者构建的,目的在于加快开发速度。
这个模块包含在最新释出的1.3.M1中。
自动禁用模板缓存
一般情况下,View层都会应用诸如Thymeleaf之类的模版引擎,这些引擎一般会在启动或者第一次加载时编译自己,所以应用启动以后再修改它们就不会立刻生效。当然,这种情况下你可以禁用掉缓存已达到快速调试的目的,比如对于Thymeleaf,你需要设置spring.thymeleaf.cache为false。
devtools会自动帮你做到这些,禁用所有模板的缓存,包括Thymeleaf, Freemarker, Groovy Templates, Velocity, Mustache等。
自动重加载
如果你修改了Controller类的代码,那么你只有手动重启来观察修改效果。当然也可以配合其他工具来达到自动重加载的目的,比如 JRebel 或者 Spring Loaded。
现在只需要引入devtools就可以了,它会自动进行重加载。重加载时服务无法访问,下一部分的精力将会放在加快重加载速度,并尽可能自动侦测需要重新加载的类,减少不必要的开销。
在浏览器方面,devtools内置了一个LiveReload服务,可以自动刷新浏览器。
其他
还有个重要的改进是远程调试,主要针对Docker和Pass平台,调试使用的是JDWP。目前1.3正式版还没有释出,M2版还有一个改进就是对于默认日志格式的覆盖,这也是一个直接期待的小加强。
相关文章推荐
- Java设计模式 -- 观察者模式
- Struts2拦截器权限学习心得
- Eclipse导出doc文档以及编码 GBK 的不可映射字符
- Arrays.asList()和Collections.addAll()的性能比较
- spring spel表达式语言
- spring boot 不同的环境使用不同的配置
- java IO之文件输入输出流
- 构建自己的Java Web框架(三)之JAVA反射机制
- Java内部类和外部类互相访问问题
- Java设置session超时(失效)的三种方式
- jdk1.8 ThreadPoolExecutor实现机制分析
- eclipse转成Android studio过程中遇到的问题
- spring boot 静态页面展示
- MyEclipse for mac retina屏模糊的问题
- 一个分布式Java Web Session
- eclipse一些设置方法
- Spring整合开发示例(分别与JDBC、Hibernate、Struts整合)
- [2016/06/28] LeetCode / Java - Day 06 -
- JavaWeb文件上传下载功能示例解析
- [改善Java代码]警惕泛型是不能协变和逆变的