閉じる

Spring Shell

2.0.0.RELEASE

Spring Shell プロジェクトのユーザーは、Spring Shell jar に依存し、独自のコマンド(Spring Bean のメソッドとして提供される)を追加することにより、フル機能のシェル(別名コマンドライン)アプリケーションを簡単に構築できます。コマンドラインアプリケーションを作成すると便利です。プロジェクトの REST API とやり取りしたり、ローカルファイルのコンテンツを操作したりします。

機能

Spring Shell の機能は次のとおりです

  • カスタムコマンドを提供するための、シンプルでアノテーション駆動型のプログラミングモデル

  • コマンドプラグイン戦略の基盤としての Spring Boot 自動構成機能の使用

  • タブ補完、色付け、およびスクリプト実行

  • コマンドプロンプト、シェル履歴ファイル名のカスタマイズ、結果とエラーの処理

  • ドメイン固有の条件に基づいたコマンドの動的な有効化

  • Bean 検証 API との統合

  • 画面のクリア、ゴージャスなヘルプ、終了などの既に組み込まれたコマンド

  • ASCII アートテーブル、フォーマット、整列、派手な境界線など

Spring Boot 構成

適切な依存関係を追加して、Spring Shell アプリケーションを開始します。

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!

ロケールと連携する何らかの翻訳サービスにアクセスできると仮定すると:

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 Initializr

プロジェクトのクイックスタート

Spring Initializr (英語) を使用してアプリケーションをブートストラップします。

ドキュメント

Spring プロジェクト別に用意されています。プロジェクトの機能を使用する方法と、それを使用して達成できることを詳細に説明しています。
2.0.0.RELEASE CURRENT GA リファレンスドキュメント (英語) API ドキュメント (英語)
2.0.1.BUILD-SNAPSHOT SNAPSHOT リファレンスドキュメント (英語) API ドキュメント (英語)