组织命令

当您的 shell 提供了大量功能时,可能会有很多命令,这对您的用户来说可能会很困惑。通过输入 help,他们会看到一个令人望而却步的命令列表,这些命令按字母顺序排列,但可能并不是展示可用命令的最佳方式。spring-doc.cadn.net.cn

为了缓解这种可能的混淆,Spring Shell 提供了将命令分组的能力,并且具有合理的默认设置。相关的命令就会被分到同一个组中(例如,User Management Commands),并在帮助屏幕和其他地方一起显示。spring-doc.cadn.net.cn

命令可以通过在注解中指定一个 `0` 属性来分组:spring-doc.cadn.net.cn

@Command(name = "example", group = "My Commands")
public String example() {
    return "Hello";
}

可以使用程序化注册模型并通过Command.Builder.group(String)方法编程方式指定组:spring-doc.cadn.net.cn

@Bean
Command myCommand() {
    return Command.builder()
            .name("mycommand")
            .group("My Commands")
            .execute(context -> {
                System.out.println("This is my command!");
            });
}