快速记忆继续努力
devtools介绍
Springboot中提供了一组开发工具,spring-boot-devtools,可以提高开发者的工作效率,开发者可以将该模块包含在任何项目中,spring-boot-devtools最方便的地方莫过于热部署了,也就是说idea会自动帮你重启项目当你有任何代码上的修改的话.
基本用法
想在项目中加入devtools,只需要添加相关的依赖代码如下:
多了一个optional的选项,是为了防止依赖传递到其他模块中.
效果说明 当引入以来之后,只要类路径的文件发生了变化,项目就会自动重启,这将极大提高了开发效率,以IDEA为例的话,,默认情况下需要手动编译一下才能重启,单击build->buildproject菜单或者快捷键ctrl+f9,当然也可以是使用自动编译. 第一步
第二步 按Ctrl+shift+alt+/ 调出Maintenance页面
单击Registry,在新打开的页面中勾选上 compiler.automake.allow.when.app.running
到此为止.做完了这两步的配置,如果修改idea中的代码,项目就会自动重启.
注意事项 类路径下的静态资源或者视图模板等发生变化时,项目并不会自动重启. 基本原理 Springboot中使用的自动重启技术涉及两个类加载器,一个是baseclassloader,用来加载不会变化的类,比如项目可能有要引入的第三方jar包;另一个是restarclassloader,用来加载开发者自己写的会有变化的类.当项目需要重启时,restartclassloader将被一个新创建的类加载器代替,而baseclassloader则会继续使用原来的,这种方式启动的话会比冷启动快得多,因为baseclassloader已经存在且加载好了. 新的一天,只要输出就会有收获.OK,水平有限,感谢大神指点.