Spring Boot 入门之路(6)--- 启动时加载数据与热启动

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Geffin/article/details/100019799

1 Spring Boot 中的启动时加载数据

若我们在 Spring Boot 刚启动时做点事情(加载数据),可以通过实现接口 CommandLineRunner 来完成。

示例

我们直接创建一个类来实现 CommandLineRunner 接口

@Component
public class Runner01 implements CommandLineRunner{

	@Override
	public void run(String... args) throws Exception {
		System.out.println("Spring Boot 启动,正在加载数据 01");
	}

}

运行,可得如下结果
在这里插入图片描述
实际上 Spring Boot 在启动后,会找到全部 CommandLineRunner 接口的实例并运行它们的 run 方法。

CommandLineRunner 的执行顺序

我们可以通过 @Order 注解或者实现 Order 接口来指定 CommandLineRunner 的执行顺序。

下面我们使用 @Order 注解进行模拟

@Component
@Order(value=2)
public class Runner02 implements CommandLineRunner{

	@Override
	public void run(String... args) throws Exception {
		System.out.println("Spring Boot 启动,正在加载数据 02");
	}

}
@Component
@Order(value=1)
public class Runner03 implements CommandLineRunner{

	@Override
	public void run(String... args) throws Exception {
		System.out.println("Spring Boot 启动,正在加载数据 03");
	}

}

结果如下
在这里插入图片描述

2 Spring Boot 的热启动

热启动,即修改代码保存时会自动重新启动项目。

Spring Boot 中的热启动实现需要添加以下配置

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
    </plugins>
</build>

注意,该模块在完整的打包环境下运行的时候会被禁用。

参考:Spring Boot 启动加载数据 CommandLineRunner

猜你喜欢

转载自blog.csdn.net/Geffin/article/details/100019799