1. 程式人生 > >Spring系列學習之Spring Shell命令列

Spring系列學習之Spring Shell命令列

英文原文: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

Reference API

2.0.0

Reference API