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();
}
}