如果我们有一段程序需要在spring boot框架启动之后立即执行,这个时候就需要借助启动加载器来完成

一、计时器介绍

对程序耗时做一个统计

计时器使用步骤

1.new一个stopwatch

2.调用stopwatch.start():

     1.业务校验,是否正在执行

     2.保存任务名

     3.记录当前时间

3.调用stopwatch.stop():

     1.业务校验,是否正在执行

     2.计算耗时

     3.将当前任务添加到任务列表中

     4.任务执行数加1

     5.清空当前任务

public class ServerApplication {

	public static void main(String[] args) throws InterruptedException {
		StopWatch mywatch = new StopWatch("mywatch");
		mywatch.start("task1");
		Thread.sleep(2000L);
		mywatch.stop();
		mywatch.start("task2");
		Thread.sleep(3000L);
		mywatch.stop();
		mywatch.start("task3");
		Thread.sleep(1000L);
		mywatch.stop();
		System.out.println(mywatch.prettyPrint());

	}

二、启动加载器案例演示

todo 添加代码

实现方式一

实现CommandLineRunner接口

重写run方法

实现方式二

实现ApplicationRunner接口

重写run方法

排序规则:

通过order值指定顺序

order值相同ApplicationRunner实现优先

 

三、启动加载器原理解析

callrRunners实现

两个实现类的差异点

1.执行优先级差异

2.run方法入参不一致

两个实现类的相同点

1.调用点一样

2.实现方法名一样

四、总结

SpringBoot计时器的实现?它有哪些优点?

让你去设计实现一个计时器,你的思路?

怎么实现在SpringBoot启动后执行程序?

启动加载器是如何实现的?

启动加载器的实现有什么异同点?

启动加载器的调用时机?

 

本文地址:https://blog.csdn.net/CHERISHGF/article/details/113933486