SpringBoot 启动加载器解析

计时器介绍

SpringBoot 启动加载器解析_第1张图片

启动加载器实战

实现方式1

  • 实现CommandLineRunner接口
  • 重写run方法
  • 通过Order进行排序

示例:

@Component
@Order(1)
public class FirstCommandlineRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("\u001B[32m >>> startup first runner<<<");
    }
}

实现方式2

  • 实现ApplicationRunner接口
  • 重写run方法
  • 通过order排序
@Component
@Order(1)
public class FirstApplicationRunner implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("\u001B[32m >>> startup first application runner<<<");
    }
}

注意:

  • 通过order值指定顺序
  • order值相同ApplicationRunner实现优先

启动加载器原理解析

callRunners实现

SpringBoot 启动加载器解析_第2张图片

SpringBoot 启动加载器解析_第3张图片

面试题

  • SpringBoot定时器的实现?它有哪些优点?
  • 让你去设计实现一个计时器,你的思路?
  • 怎么实现在Spring Boot启动后执行程序?
    • 通过启动加载器进行实现
  • 启动加载器如何实现?
  • 启动加载器的实现有什么异同点?
  • 启动加载器的调用时机?

你可能感兴趣的:(SpringBoot源码解析,java,spring,boot,启动加载解析)