加密网站,山东新华电脑学院学网站开发,wordpress数据库用户导出,网站建设在哪里学文章目录 1、手工启动热部署2、自动启动热部署3、热部署范围配置4、关闭热部署功能 1、手工启动热部署
日常开发与调试#xff0c;改几行代码想看效果就得手动点重启#xff0c;很繁琐#xff0c;接下来考虑启动热部署。首先引入springboot开发者工具#xff1a;
dep… 文章目录 1、手工启动热部署2、自动启动热部署3、热部署范围配置4、关闭热部署功能 1、手工启动热部署
日常开发与调试改几行代码想看效果就得手动点重启很繁琐接下来考虑启动热部署。首先引入springboot开发者工具
dependency groupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdoptionaltrue/optional
/dependency
此时若代码有变更按CtrlF9构建项目操作即可实现热部署手动 关于热部署有两个词条 重启Restart波及范围包括自定义开发代码包含类、页面、配置文件等加载位置是restart类加载器重载ReLoad波及范围包括各种依赖的jar包加载位置是base类加载器
改完代码依赖的jar包通常不变这个是没必要每次重复加载的。所以热部署做的是Restart不会重新加载依赖的jar资源。第一次启动是ReloadRestart热部署则只管Restart
2、自动启动热部署
上面每次点构建和点重启其实差不多无非是比重启启动的快不再加载依赖的jar的原因。 接下来解决这个问题开启自动热部署。首先打开Setting里的Build project automatically设置 再CtrlAlt/打开Registry 快捷键调不出来的就加一下快捷键 此时当IDEA工具失焦如从IDEA切到浏览器5秒后自动启动热部署。坑比较多没生效的话可能有以下原因
没有以debug方式启动而是直接run打开了好多IDEA窗口…
3、热部署范围配置
对于html页面等这类文件改完后刷新浏览器就生效不用参与热部署即要控制热部署的范围才更合理。默认不触发重启的文件或目录有
/META-INF/maven/META-INF/resources/resources/static/public/templates
除了默认列表可自定义不参与热部署重启的排除项
devtools: restart: # 文件夹就后面加/**即所有文件 exclude: public/**,static/**,config/application.yml 上面这个热部署仅在本地开发阶段有意义等线上了不可能出现服务正运行呢代码变了的情况。那时候可能会发生配置更新又追求更新配置不用重启服务就生效即热更新后话了
4、关闭热部署功能
方式很多最直接的就是在配置文件改
devtools: restart: exclude: public/**,static/**,config/application.ymlenable: false
但回顾之前配置文件的优先级这里级别低 容易被覆盖而不生效因此换个优先级高的实现
public static void main(String[] args) {//注意这里key的写法参考properties文件System.setProperty(spring.devtools.restart.enabled, false);SpringApplication.run(SSMPApplication.class);}