SpringbootCommandLineRunner启动任务传参
在《Spring boot 通过CommandLineRunner 在启动完成后执⾏任务》这篇⽂章中我们介绍了创建CommandLineRunner任务,在Spring boot启动后执⾏⼀些任务。
有⼈可能有以为,这 args)⽅法中的args参数是什么?
@Component
@Order(value = 1) // 指定其执⾏顺序,值越⼩优先级越⾼
public class MyRunner1 implements CommandLineRunner {
@Override
public void args) throws Exception {
System.out.println("MyRunner1");
}
}
< args是应⽤启动的时候可以传进来的参数,有两种⽅式可以传参
⼀种是命令⾏的⽅式传参,所以为什么这个接⼝叫CommandLineRunner
另⼀种⽅法是通过IntelliJ IDEA配置参数
下⾯分别说明intellijidea
命令⾏传参
⾸先将应⽤打成jar包,然后运⾏如下命令⾏,我这⾥传⼊三个参数
java -jar MyProject.jar 野猿新⼀野猿新⼆野猿新三
IntelliJ IDEA传参
如果是在开发过程中想通过IntelliJ IDEA直接运⾏项⽬,不想打成jar包,⼜要传⼊参数,可以配置项⽬运⾏的环境
1.点击打开项⽬运⾏配置对话框
2展开Environment,在Program arguments项中填⼊项⽬运⾏的参数,点击OK按钮确定
测试
我们将上⾯的实例稍微修改下,把参数args打印出来
@Component
@Order(value = 1) // 指定其执⾏顺序,值越⼩优先级越⾼
public class MyRunner1 implements CommandLineRunner {
@Override
public void args) throws Exception {
System.out.println("MyRunner1:" + String(args));
}
}
采⽤以上命令⾏的⽅式或者IntelliJ IDEA配置参数的⽅式运⾏结果⼀样,如下
2020-08-21 16:36:04.453 custom-logback  INFO 16244 --- [          main] uanxinyi.MyApplication      : Started MyApplication in 10.724 seconds (JV MyRunner1:[野猿新⼀, 野猿新⼆, 野猿新三]
实际使⽤的时候可以取到传⼊的参数然后做⼀些操作

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。