Springboot热部署相关配置

Springboot热部署配置(Thyemleaf、Idea、Devtools)

LengToo灯泡爱.png

在开发中反复修改类、页面等资源,每次修改后都是需要重新启动才生效,浪费了大量的时间,Spring提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。

一、devtools原理及引入

  • 原理:
    使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。

  • pom依赖:

    <!-- spring-boot-devtools 热部署 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional> <!-- 表示依赖不会传递 -->
    </dependency>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
                </configuration>
            </plugin>
        </plugins>
    </build>
    

二、application.yml配置

  1. Thyemleaf模板缓存禁用:
    # 模板引擎
    thymeleaf:
        mode: HTML
        encoding: utf-8
        # 禁用缓存
        cache: false
    
  2. 热部署开启及自定义
     # 服务模块
      devtools:
        restart:
          # 热部署开关
          enabled: true
          #禁用日志报告
    #      log-condition-evaluation-delta: false
          #不需要修改触发重启的文件目录
    #      exclude: static/,public/
          #默认配置下还需要在新增的排除目录
    #      additional-exclude:
          #添加需要监视需改文件后重启的路径
    #      additional-paths:
    

三、Idea设置

  1. File --> Settings --> Build,Execution,Deployment --> Compiler,勾选
Idea配置1.png
  1. 使用快捷键Crtl+Shift+Alt+/,并打开Registry,勾选图中红框所示
Idea配置2.png
Idea配置3.png
  1. 重启项目。至此,修改页面(Idea自动保存)刷新后,即可看到修改的内容。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容