springboot---手动启动热部署、自动启动热部署、热部署范围配置、禁用热部署

springboot---手动启动热部署、自动启动热部署、热部署范围配置、禁用热部署,第1张

基本了解:

 当我们开启热部署之后,服务器不用重新加载(我们的项目也不用被重启),我们修改过后的代码就能生效。

关于热部署:

   重启:Restart 自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器

重载:Reload jar包,加载位置base类加载器

需要添加maven坐标:

        
            org.springframework.boot
            spring-boot-devtools
        

一、手动启动热部署      怎么手工激活热部署?

在项目中修改坐标之后,点击Build-->Build Project (或者使用快捷键Ctrl+F9) 即可

对于热部署,仅仅是加载当前开发者自定义开发的资源,不加载jar资源

二、自动启动热部署

   怎么开启自动启动热部署?

       ①  点击Setting

        

     ② 找到下图页面所在的位置

③ 在右侧的界面中,找到这个选项,勾选上,“自动构建项目” 

 

④“Apply”,应用一下

⑤“Ctrl”+“ATL”+“Shift”+“?”,  就会出现这个页面,点击图中选中的这个选项 

⑥ 将下图中的第一个Key的Value给勾选上(这是旧版本的idea,如果是新版本的idea参考步骤七)

⑦新版本的idea开启自动启动热部署

    在“Advanced Settings”中勾选 “Allow auto.....is currently running” 

⑧当使用自动启动热部署的时候,如果我们改完程序,在页面上停留5秒之后,idea就会自动帮我们"Build Project"

三、热部署范围配置

 

    如果我们想要某些文件或者或者文件夹不参与热部署的配置,怎么办?

        在application.yml文件中配置下列信息

  devtools:
    restart:
      exclude: static/** , public/** ,config/application.yml
# /** 表示此目录下的所有文件
# config/application.yml 已经具体到哪个目录下的哪个文件

四、禁用热部署功能       第一种. 在application.yml文件中配置下列信息
  devtools:
    restart:
      exclude: static/** , public/** ,config/application.yml
      enabled: false
# /** 表示此目录下的所有文件
# config/application.yml 已经具体到哪个目录下的哪个文件

    但是这种形式关闭热部署,优先级别太低,可能关闭之后,别人又从别的配置文件或者其他地方给打开了(在优先级别高的地方),从而导致热部署在此启动。

    第二种:在优先级别高的地方禁用热部署

     既然我们怕别人在优先级别高的地方启动热部署,那我们就在优先级别比较高的地方禁用热部署

    首先我们先查看一下加载的优先级:

 显然,application.yml配置文件在优先级为3的地方

那么,我们可以在优先级为6的地方禁用热部署功能

   如下列代码:

@SpringBootApplication
public class Springboot12HotDisplayApplication {
      

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

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/798965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存