简介

大多数情况下,我们项目启动后执行一些初始化操作,springboot为我们提供了类,他们的执行时机为容器启动完成的时候,下面就介绍

CommandLineRunner

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

/**
 * @auther 高松
 * @DATE 2019/7/29  23:44
 * spring-redis
 */
@Component
// @Order(value=2) 多个CommandLineRunner时可以通过Order指定顺序
public class MyStartupRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("我是CommandLineRunner");
    }
}

ApplicationRunner

import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;


/**
 * @auther 高松
 * @DATE 2019/7/29  23:54
 * spring-redis
 */
@Component
public class AppRunner implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("我是ApplicationRunner");
    }
}

两者顺序是ApplicationRunner 在前,CommandLineRunner 在后

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐