Spring boot CommandLineRunner启动任务传参实例详解

 更新时间:2022年06月02日 14:49:49   作者:野猿新一  
在使用SpringBoot构建项目时,我们通常有一些预先数据的加载,下面这篇文章主要给大家介绍了关于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:[野猿新一, 野猿新二, 野猿新三]

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

总结

到此这篇关于Spring boot CommandLineRunner启动任务传参的文章就介绍到这了,更多相关Springboot CommandLineRunner启动任务传参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring BeanPostProcessor接口使用详解

    Spring BeanPostProcessor接口使用详解

    本篇文章主要介绍了Spring BeanPostProcessor接口使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Java8中Map常用的遍历方式

    Java8中Map常用的遍历方式

    这篇文章主要给大家介绍了关于Java8中Map常用的遍历方式,map属于java中的顶级接口之一,区别于list,map是键值对的形式存在,需要的朋友可以参考下
    2023-07-07
  • java操作mongodb实现CURD功能实例

    java操作mongodb实现CURD功能实例

    mongodb支持多种语言,并且提供了多种语言的驱动,本文使用java操作mongodb实现CURD功能,大家参考使用吧
    2013-12-12
  • Python如何使用@property @x.setter及@x.deleter

    Python如何使用@property @x.setter及@x.deleter

    这篇文章主要介绍了Python如何使用@property @x.setter及@x.deleter,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Java使用lombok消除冗余代码的方法步骤

    Java使用lombok消除冗余代码的方法步骤

    这篇文章主要介绍了Java使用lombok消除冗余代码的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • MyBatis中不建议使用where 1=1原因详解

    MyBatis中不建议使用where 1=1原因详解

    这篇文章主要为大家介绍了MyBatis中不建议使用where 1=1的原因详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 基于Mybatis Plus实现多表分页查询的示例代码

    基于Mybatis Plus实现多表分页查询的示例代码

    这篇文章主要介绍了基于Mybatis Plus实现多表分页查询的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Spring Boot中配置文件application.properties使用

    Spring Boot中配置文件application.properties使用

    这篇文章主要介绍了Spring Boot中配置文件application.properties使用及spring boot读取application.properties文件的方式,需要的朋友参考下吧
    2018-01-01
  • Java使用POI生成Word文档简单代码示例

    Java使用POI生成Word文档简单代码示例

    Java POI是一个用于操作Microsoft Office格式文件的Java库,包括 Word、Excel和PowerPoint等文件,这篇文章主要给大家介绍了关于Java使用POI生成Word文档的相关资料,需要的朋友可以参考下
    2024-08-08

最新评论