SpringBoot启动后自动执行特定的方法
SpringBoot提供了两个类实现这种需求,分别为CommandLineRunner和ApplicationRunner
这两个接口中有一个run方法,我们只需要实现这个run方法即可。他们的不同如下:
CommandLineRunner中的run方法参数为String数组
ApplicationRunner中的run方法参数为ApplicationArguments

实现:
第一种:ApplicationRunner类

import com.hy.zd_intranet.controller.CarVehic;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;


@Component        //该注解表明该类被Spring容器管理
@Order(1)        //如果有多个自定义的ApplicationRunner,该注解用来表明执行的顺序
public class VehicApplicationRunner implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        CarVehic vehic = new CarVehic();
        vehic.startCar();
    }
}

第二种:CommandLineRunner

@Component
@Order(1)
public class TestCommandLineRunner implements CommandLineRunner{
    CarVehic vehic = new CarVehic();
    @Override
    public void run(String... args) throw Exception(){
        vehic.startCar();
    }
}