码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 10.springboot热部署


    目录

    重启和重载

    1.手动启动热部署

    1.添加依赖

     2.激活热部署

     2.自动启动热部署

    1.添加依赖

    2.设置自动构建项目

     3.开启允许自动构建项目

    4.热部署范围配置

    默认不参与热部署的目录

     手动配置热部署的目录


    重启和重载

            重启(Restart):用来加载自定义开发包,包含类、页面、配置文件等,加载位置restart类加载器。

            重载(ReLoad):用来加载jar包中的类,jar包中的类和配置文件由于不会发生变化,因此不管加载多少次,加载的内容不会发生变化。

            当springboot项目启动时,base类加载器执行,加载jar包中的信息后,restart类加载器执行,加载开发者制作的内容。当执行构建项目后,由于jar中的信息不会变化,因此base类加载器无需再次执行,所以仅仅运行restart类加载即可,也就是将开发者自己制作的内容重新加载就行了,这就完成了一次热部署的过程,也可以说热部署的过程实际上是重新加载restart类加载器中的信息。

            热部署相当于重启(Restart)过程,在大的项目环境下效果显著

    1.手动启动热部署

    1.添加依赖

    
        org.springframework.boot
        spring-boot-devtools
        true
    
    

     2.激活热部署

    快捷键ctrl+f9

             就实现了springboot工程的热部署

     2.自动启动热部署

            自动热部署其实就是设计一个开关,打开这个开关后,IDE工具就可以自动热部署。因此这个操作和IDE工具有关,以下以idea为例设置idea中启动热部署。

    1.添加依赖


        org.springframework.boot
        spring-boot-devtools
        true

    2.设置自动构建项目

     打开【File】,选择【settings…】,在面板左侧的菜单中找到【Build,Execution,Deployment】

    选择【Compile】选项,然后勾选【Build project automatically】,意思是自动构建项目。

     3.开启允许自动构建项目

    使用快捷键【Ctrl】+【Alt】+【Shit】+【/】打开维护面板,选择第1项【Registry…】

     在选项中搜索comple,然后勾选对应项即可

     如果你的idea没有这个选项,则找到【Settings】,在面板左侧的菜单中找到【Advanced Settings】,勾选Allow auto-make to start................即可

     设置完成后,idea失去焦点5秒后启动重启(Restart)

    4.热部署范围配置

    默认不参与热部署的目录

    • /META-INF/maven

    • /META-INF/resources

    • /resources

    • /static

    • /public

    • /templates

     手动配置热部署的目录

            关闭热部署在application.yml文件中:

            关闭static文件夹和config文件夹的热部署

    spring:
      devtools:
        restart:
          exclude: static/**,config/**

             强制关闭所有的热部署

    spring:
      devtools:
        restart:
          enabled: true

            如果配置文件层级过多导致相符覆盖最终引起配置失效,可以提高配置的层级,在更高层级中配置关闭热部署。例如在引导类系统属性设置关闭热部署功能。 

    1. @SpringBootApplication
    2. public class Demo12SpringbootTaskApplication {
    3. public static void main(String[] args) {
    4. //强制关闭所有热部署
    5. System.setProperty("spring.devtools.restart.enabled","false");
    6. SpringApplication.run(Demo12SpringbootTaskApplication.class, args);
    7. }
    8. }

     参考:https://blog.csdn.net/Learning_xzj/article/details/125432819

  • 相关阅读:
    数据库事务,JDBC操作和数据类型
    【ICLR23论文】Can CNNs Be More Robust Than Transformers?
    初识JavaScript
    深入理解并发和并行
    工作分配问题——算法设计与分析(C实现)
    c# DataTable dt_JmMll,如果放在Task.Run(() =>)里面通过调用UpdateUIDatagridview()更新ui方法DataTable数据变0了
    JVM(1)
    Python工程师Java之路(t)SpringBoot极速极简入门代码
    Mybatis之关联关系映射
    “Python+”集成技术高光谱遥感数据处理与机器学习深度应用丨高光谱数据预处理-机器学习-深度学习-图像分类-参数回归等12个专题
  • 原文地址:https://blog.csdn.net/m0_62520968/article/details/126890420
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号