有人可能有以為,這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直接運行項目,不想打成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.yeyuanxinin [ main] com.yeyuanxininyi. 1085 for 13.727)
MyRunner1:[野猿新一, 野猿新二, 野猿新三]
以上是Spring boot CommandLineRunner啟動任務傳參的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!