SpringBoot中的ApplicationRunner与CommandLineRunner作用及使用

tech2026-04-15  4

二者的功能一模一样,都是在Spring容器初始化完毕之后执行起run方,不同点在于,前者的run方法参数ApplicationArguments,对参数进行了封装,后者的参数是String...args,直接传入字符

ApplicationRunner : 是一个接口,里面定义一个run(ApplicationArguments args)方法,我们需要自己写一个类去实现这个这接口,并实现接口里面的run(ApplicationArguments args)方法

作用:springBoot项目在启动之后直接执行某一段功能代码。这个时候就用到了 ApplicationRunner 

@Order(value = 1) //多个实现类需要标注执行顺序 public class SpringApplicationRunner implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { System.out.println("Spring Boot 完成启动之后执行"); } }

如果有多个实现类方法需要执行,使用@Order(value=1)注解设置执行的顺序。

CommandLineRunner : 是一个接口,里面定义一个run(String... args)方法,我们需要自己写一个类去实现这个这接口,并实现接口里面的run(String... args)方法

@Order(value = 1) //多个实现类需要标注执行顺序 public class SpringCommandLineRunner implements CommandLineRunner{ @Override public void run(String... args) throws Exception { System.out.println("Spring Boot 完成启动之后执行"); } }

 

最新回复(0)