Spring Boot使用ApplicationRunner实现项目启动之后直接执行业务操作

前言

如果我们希望在项目启动成功后自动执行某些操作或者业务的话,可以有很多方法,比如:在Application主程序里面写,或者是。这两个接口分别为CommandLineRunner和ApplicationRunner。这里简单的介绍另外一种方法:ApplicationRunner。

两个接口的不同之处在于:ApplicationRunner中run方法的参数为ApplicationArguments,而CommandLineRunner接口中run方法的参数为String数组。

代码

@Component
@Slf4j
public class ApplicationRunnerImpl implements ApplicationRunner {
    
    
    @Override
    public void run(ApplicationArguments args) throws Exception {
    
    
        log.info("项目启动成功,执行操作");
        System.out.println("Hello World");
    }
}

扩展

如果有多个代码段需要执行,可用@Order注解设置执行的顺序。

@Component
@Slf4j
@Order(value=1) //首先执行
public class ApplicationRunnerImpl implements ApplicationRunner {
    
    
    @Override
    public void run(ApplicationArguments args) throws Exception {
    
    
        log.info("项目启动成功,第一个执行操作");
        System.out.println("Hello World1");
    }
}
@Component
@Slf4j
@Order(value=2) //第二个执行
public class ApplicationRunnerImpl implements ApplicationRunner {
    
    
    @Override
    public void run(ApplicationArguments args) throws Exception {
    
    
        log.info("项目启动成功,第二个执行操作");
        System.out.println("Hello World2");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_28545605/article/details/125643536
今日推荐