上篇從源碼分析了SpringShell的ApplicationRunner, 本文筆者從源碼分析一下自定義命令的掃描和解析過程. 1. 解析自定義命令 1.1 注入Shell...
![240](https://cdn2.jianshu.io/assets/default_avatar/11-4d7c6ca89f439111aff57b23be1c73ba.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
上篇從源碼分析了SpringShell的ApplicationRunner, 本文筆者從源碼分析一下自定義命令的掃描和解析過程. 1. 解析自定義命令 1.1 注入Shell...
SpringShell應(yīng)用啟動(dòng)時(shí), 會(huì)默認(rèn)向IOC容器中注入兩個(gè)ApplicationRunner: ScriptShellApplicationRunner 和 Inter...
SpringShell 應(yīng)用啟動(dòng)時(shí), 會(huì)自動(dòng)創(chuàng)建兩個(gè)ApplicationRunner組件: ScriptShellApplicationRunner 和 Interacti...
SpringShell 運(yùn)行腳本有兩種方式, 一種是在交互式終端中使用script內(nèi)置命令, 另外一種是在啟動(dòng)應(yīng)用時(shí)直接將腳本作為參數(shù)傳遞. 1. 創(chuàng)建命令腳本 命令腳本也就...
SpringShell 應(yīng)用啟動(dòng)時(shí), 默認(rèn)會(huì)輸出Spring Shell 的啟動(dòng)信息. 對(duì)于一個(gè)專業(yè)的shell來講, 輸出Spring相關(guān)的啟動(dòng)信息, 肯定是不合適的, 我...
SpringShell 應(yīng)用默認(rèn)的命令提示符是 Shell:>, Spring 提供了PromptProvider 接口, 可以讓我們輕松自定義自己的命令提示符. 這樣會(huì)讓我...
SpringShell 2.0 共為我們提供了五個(gè)內(nèi)置命令, 如果不想使用, 那么可以禁用內(nèi)置命令. 筆者并不推薦修改SpringSell內(nèi)置命令的默認(rèn)行為, 但是不妨了解一...
SpringShell 的內(nèi)置命令隸屬于"Built-In Commands"組內(nèi), 我們也可以將自定義命令添加到此組中, 也可以重寫內(nèi)置命令. 需要注意的時(shí), 新增內(nèi)置命令...
SpringShell 除了允許我們自定義命令之外, 還提供了一些內(nèi)置命令, 用于輔助我們操作. 筆者使用的是SpringShell 2.0版本, 內(nèi)置命令只提供了五個(gè):he...
當(dāng)SpringShell應(yīng)用中命令過多時(shí), 我們就需要對(duì)命令進(jìn)行歸類分組. SpringShell 提供了四種分組方式. 1. 命令分組方式 1.1 命令級(jí)別分組 聲明命令時(shí)...
SpringShell聲明的命令, 在默認(rèn)情況下都是可用的. 但有時(shí)我們要實(shí)現(xiàn)命令依賴, 就是說要執(zhí)行這條命令必須先執(zhí)行依賴的命令, 就像ftp命令, 需要先使用open 命...
SpringShell 支持使聲明式注解校驗(yàn)參數(shù), 使用聲明式注解校驗(yàn)之后, 不僅在執(zhí)行命令時(shí)會(huì)對(duì)參數(shù)進(jìn)行合法性校驗(yàn), 而且在查看參數(shù)的幫助信息時(shí), 也會(huì)輸出參數(shù)的約束條件....
SpringShell 提供了@ShellOption注解用于指定參數(shù)的幫助信息, 或?qū)μ厥鈪?shù)進(jìn)行處理. 1. 傳參方式 SpringShell 命令調(diào)用時(shí), 有兩種傳參方...
@ShellMethod 用于聲明一個(gè)方法為Shell 命令, 默認(rèn)命令名稱為方法名, 命令所屬分組為方法所在類類名, 可以通過自定義屬性來做調(diào)整. 默認(rèn)情況下, Sprin...
Spring Shell 是用來開發(fā)類似于Linux Shell, Python Shell 等交互式終端應(yīng)用的. 和傳統(tǒng)的java web 應(yīng)用不同, 用戶和應(yīng)用的交互方式...