CommandLineRunner接口使用介绍

1.介绍如何控制CommandLineRunner接口实现类执行顺序?

2.介绍CommandLineRunner接口作用?

一、CommandLineRunner接口作用

平常开发中有可能需要实现在项目启动后执行的功能,SpringBoot提供的一种简单的实现方案就是添加一个model并实现CommandLineRunner接口,实现功能的代码放在实现的run方法中也就是项目一启动之后,就立即需要执行的动作。 

二、多实现类执行顺序 

可以通过注解@Order控制实现类执行顺序,其中Order的值越小越先被执行;

案例:登录 - Gitee.com

案例如下:

package com.dbzhang.commandLineRunner;

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * @program: spring-boot-2022-05
 * @description: SpringBoot项目启动之后,立即执行这个CommandLineRunner.run()方法;另外需要使用注解@Order控制实现类执行顺序,order的值越小越先被执行;
 * @author: zdb
 * @motto: 认真写好每一行代码
 * @create: 2022-10-08 22:40
 */
@Component
@Order(1)
public class MyStartupRunner1 implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("执行MyStartupRunner1");
    }
}

 

package com.dbzhang.commandLineRunner;

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * @program: spring-boot-2022-05
 * @description:
 * @author: zdb
 * @motto: 认真写好每一行代码
 * @create: 2022-10-08 22:40
 */
@Component
@Order(2)
public class MyStartupRunner2 implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("执行MyStartupRunner2");
    }
}

 执行结果如图:

 

 

你可能感兴趣的:(SpringBoot框架,spring,boot)