springboot实现初始化以后程序的接口有两个:ApplicationRunner和CommandLineRunner
我比较喜欢用前者,所以就该接口的使用做学习摘录。
一、继承implements ApplicationRunner,重写run方法即可。
package com.cn.laoluobase.config;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import java.util.Set;
/**
* @ClassName StartInit1
* @Description 项目启动完毕后开启需要自启的任务
*/
@Component
public class StartInit implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) {
System.out.println("config.StartInit==这个是在启动后执行的任务ApplicationRunner===");
System.out.println("------------开始调用ApplicationRunner------------");
String[] sourceArgs = args.getSourceArgs();
for (String arg:sourceArgs){
System.out.println(" "+arg);
}
System.out.println(" -----------------option---------------- ");
Set<String> optionNames = args.getOptionNames();
for (String s: optionNames) {
System.out.println(" optionName:"+s+" optionValue:"+args.getOptionValues(s));
}
// 可以通过上面获取得到Application的启动参数和选项
// 可以在这里执行一些需要在系统启动完成后才执行的操作。
System.out.println("++++++++++++结束调用ApplicationRunner++++++++++++");
}
}
二、执行,传参示例
我们通过java -jar启动程序,并赋予了三个参数。在该接口中全部进行了显示。