Spring boot CommandLineRunner启动任务传参

在《Spring boot 通过CommandLineRunner 在启动完成后执行任务》这篇文章中我们介绍了创建CommandLineRunner任务,在Spring boot启动后执行一些任务。

有人可能有以为,这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:[野猿新一, 野猿新二, 野猿新三]

实际使用的时候可以取到传入的参数然后做一些操作

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值