在IDEA上对SpringBoot项目配置Devtools实现热部署

spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。



devtools实现原理:使用了两个ClassLoader,其中一个ClassLoader主要加载不会改变的类(第三方jar包),另一个ClassLoader加载有变更的类,所以也叫 restart ClassLoader,由于需要加载的类很少,可以在较快的速度内实现重启

在pom文件中添加devtools依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <!-- optional=true,依赖不会往下传递,
    如果有项目依赖本项目,并且想要使用devtools,需要重新引入 -->
    <optional>true</optional>
    <scope>runtime</scope>
</dependency>

说明

  • 页面热部署

    在application.properties文件中配置spring.thymeleaf.cache=false(页面修改后会立即生效)

  • 某些资源在更改时不一定需要触发重新启动

    Thymeleaf 模板可以就地进行编辑。默认情况下更改资源路径包括了:/META-INF/maven, /META-INF/resources ,/resources ,/static ,/public 或者 /templates 不会触发重新启动, 但会触发实时重新加载。如果逆向排除这些路径,可以使用如下配置:spring.devtools.restart.exclude=static/,public/

猜你喜欢

转载自www.cnblogs.com/wuyiz/p/11718618.html