close

弹簧壳

Spring Shell项目的用户可以通过依赖于Spring Shell jar并添加自己的命令(在Spring bean中作为方法来提供)来轻松构建功能完备的shell(又名命令行)应用程序。创建命令行应用程序可能非常有用,例如与项目的REST API交互或使用本地文件内容。

特征

Spring Shell的功能包括

  • 一个简单的注释驱动的编程模型,可以贡献自定义命令

  • 使用Spring Boot自动配置功能作为命令插件策略的基础

  • 制表符完成,着色和脚本执行

  • 自定义命令提示符,shell历史记录文件名,结果和错误处理

  • 根据域特定条件动态启用命令

  • 与bean验证API集成

  • 已经内置的命令,例如清晰的屏幕,漂亮的帮助,退出

  • 具有格式,对齐方式,花式边框等的ASCII艺术表

Spring Boot配置

通过添加适当的依赖关系来启动您的Spring Shell应用程序:

玛文
<dependencies>
    <dependency>
        <groupId>org.springframework.shell</groupId>
        <artifactId>spring-shell-starter</artifactId>
        <version>2.0.0.RELEASE</version>
    </dependency>
</dependencies>
摇篮
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);
    }
}
SpringInitializr

快速启动您的项目

使用 Spring Initializr引导您的应用程序 。

文献资料

每个Spring项目都有自己的项目。它详细说明了如何使用项目功能以及使用它们可以实现的功能。
2.0.0。发布 电流 GA 参考文件 API文件
2.0.1.BUILD-SNAPSHOT 快照 参考文件 API文件