修改了输出内容。并不能实现。需要重启才可以。很麻烦。这个时候就需要热部署
使用 spring-boot-devtools 实现
1)介绍:
在发现代码更改以后,重启应用,速度快(是停止.启动的速度)
它使用了两个ClassLoder,一个加载不会改变的(第三方jar包),另一个加载会更改
的类,称为restart ClassLoder,在代码改变时,丢弃旧的 restart ClassLoder,重建一个新的restart ClassLoder。
2)使用:
添加依赖包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
添加 spring-boot-maven-plugin:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<!-- fork:如果此处没有配置,这个devtools不会起作用,应用不会重启 -->
</configuration>
</plugin>
</plugins>
</build>
3)原理:
1. 拉起一个内置的tomcat。
2. 初始化原来手动配置的bean,mybbatis。
3. 将启动的java类所在的包,及包下的子包的所有的注解全部扫描,
纳入Spring管理。
4. 将一些配置文件的手动配置,变为自动配置。
4) Spring Boot的模块管理
Spring-boot-starter-web SpringMVC
Spring-boot-starter-jdbc jdbc
Spring-boot-starter-data-jpa data jpa
Spring-boot-starter-mybatis mybatis
Spring-boot- starter-security spring-security
Service
Spring-boot-start-test