1;热部署
eclipse –> Project –> Build Automatically 要选中,不选中的话不起作用
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。
2.使用效果:保证每次修改类,方法,自己加载重启,不要自己手动,提高效率.
3.devtools的原理
深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。
4.操作实现
4.1步骤一:
<!-- 热部署 1 2在<configuration><fork>true</fork> </configuration>-->
<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>
</configuration>
</plugin>
</plugins>
</build>
4.2步骤二:
eclipse –> Project –> Build Automatically 要选中,不选中的话不起作用
5. 配置控制开关
devtools可以实现页面热部署 这个可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现,
在application.properties中配置spring.devtools.restart.enabled=false,此时restart类加载器还会初始化,但不会监视文件更新。也就是热部署的开关