Spring系列學習之Spring Shell命令列
阿新 • • 發佈:2018-12-23
英文原文:https://projects.spring.io/spring-shell/
目錄
Spring Shell專案提供了一個互動式shell,允許您使用基於Spring的程式設計模型插入自己的自定義命令。
介紹
Spring Shell專案的使用者可以通過依賴Spring Shell jar並新增他們自己的命令(作為spring bean上的方法)輕鬆構建一個功能齊全的shell(也就是命令列)應用程式。建立命令列應用程式可能是有用的,例如與專案的REST API互動,或使用本地檔案內容。
特性
Spring Shell的功能包括:
- 一個簡單的,註釋驅動的程式設計模型,用於提供自定義命令
- 使用Spring Boot自動配置功能作為命令外掛策略的基礎
- 選項卡完成,著色和指令碼執行
- 自定義命令提示符,shell歷史檔名,結果和錯誤的處理
- 基於域特定標準動態啟用命令
- 與bean驗證API整合
- 已經內建命令,如清晰的螢幕,華麗的幫助,退出
- ASCII藝術表,帶格式,對齊,花式邊框等。
快速開始
在專案中使用spring-shell的推薦方法是使用依賴關係管理系統 - 下面的程式碼片段可以複製並貼上到您的構建中。 需要幫忙? 請參閱我們的Maven和Gradle構建入門指南。(可導航到英文頁面選擇對應的版本和依賴方式)
Maven
<dependencies> <dependency> <groupId>org.springframework.shell</groupId> <artifactId>spring-shell-starter</artifactId> <version>2.0.0.RELEASE</version> </dependency> </dependencies>
Gradle
dependencies {
compile 'org.springframework.shell:spring-shell-starter:2.0.0.RELEASE'
}
然後建立一個可以作為呼叫的簡單命令
shell:>translate "hello world!" --from en_US --to fr_FR
bonjour monde!
假設您可以訪問某些與Locales一起使用的翻譯服務:
package foo;
@ShellComponent
public class TranslationCommands {
private final TranslationService service;
@Autowired
public TranslationCommands(TranslationService service) {
this.service = service;
}
@ShellMethod"Translate text from one language to another.")
public String translate(
@ShellOption(mandatory = true) String text,
@ShellOption(mandatory = true, defaultValue = "en_US") Locale from,
@ShellOption(mandatory = true) Locate to
) {
// invoke service
return service.translate(text, from, to);
}
}
Spring Shell
Release
Documentation
2.0.1
2.0.0