设置springboot启动后立即执行某方法(开机启动)的两种方式

1. 实现ApplicationRunner接口:

这种方式使用ApplicationArguments来接收命令行参数,相对比较方便(args.getOptionValues(key))

@Component
@Order(value = 1)
public class StartComponent implements ApplicationRunner
{
    @Override
    public void run(ApplicationArguments args)
        throws Exception
    {
        System.out.println("项目启动后即执行此方法!");
    }
}

2. 实现CommandLineRunner接口:

这种方式使用字符串数组来接收命令行参数

public class StartComponent implements CommandLineRunner
{
    @Override
    public void run(String... args)
        throws Exception
    {
        System.out.println("项目启动后即执行此方法!");        
    }
}

其中@Order注解来指定方法执行的顺序,也可通过实现org.springframework.core.Ordered接口并重写getOrder()方法来实现:

//class implements Ordered
@Override
public int getOrder(){
    return 1;//指定顺序
}
发布了73 篇原创文章 · 获赞 44 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_34928194/article/details/103063279