Spring boot CommandLineRunner启动任务传参的方法
前言有人可能有以为,这run(String...args)方法中的args参数是什么?@Component@Order(value=1)//指定其执行顺序,值越小优先级越高publicclassMyRunner1implementsCommandLineRunner{@Overridepublicvoidrun(String...args)throwsException{System.out.println("MyRunner1");}}String...args是应用启动的时候可以传进来的参数,有两种方
前言
有人可能有以为,这run(String... args)方法中的args参数是什么?
@Component
@Order(value = 1) // 指定其执行顺序,值越小优先级越高
public class MyRunner1 implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("MyRunner1");
}
}String... args是应用启动的时候可以传进来的参数,有两种方式可以传参
一种是命令行的方式传参,所以为什么这个接口叫CommandLineRunner
另一种方法是通过IntelliJ IDEA配置参数
下面分别说明
命令行传参
首先将应用打成jar包,然后运行如下命令行,我这里传入三个参数
java -jar MyProject.jar 野猿新一 野猿新二 野猿新三
IntelliJ IDEA传参
如果是在开发过程中想通过IntelliJ IDEA直接运行项目,不想打成jar包,又要传入参数,可以配置项目运行的环境
1.点击Edit Configurations...打开项目运行配置对话框

2展开Environment,在Program arguments项中填入项目运行的参数,点击OK按钮确定

测试
我们将上面的实例稍微修改下,把参数args打印出来
@Component
@Order(value = 1) // 指定其执行顺序,值越小优先级越高
public class MyRunner1 implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("MyRunner1:" + Arrays.toString(args));
}
}采用以上命令行的方式或者IntelliJ IDEA配置参数的方式运行结果一样,如下
2020-08-21 16:36:04.453 custom-logback INFO 16244 --- [ main] com.yeyuanxinyi.MyApplication : Started MyApplication in 10.724 seconds (JVM running for 13.727)
MyRunner1:[野猿新一, 野猿新二, 野猿新三]
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















