当SpringShell应用中命令过多时, 我们就需要对命令进行归类分组. SpringShell 提供了四种分组方式.
声明命令时, 直接使用group属性指定命令所属组.
@ShellMethod(value = "计算两个整数的除法", group = "calculator")
public int div(int a, int b) {
return a/b;
}
命令所在类添加@ShellCommandGroup注解, 该注解只有一个属性就是组名.
@ShellComponent
@ShellCommandGroup("welcome")
public class WelcomeCommand {
}
在包下创建package-info.java 类
@org.springframework.shell.standard.ShellCommandGroup("package-cmds")
package org.zongf.learn.spring.shell.cmd;
默认情况下, spring 会将所有命令所属组设置为命令所在类组中, 组名为"类名 Commands".
命令优先级: 命令级别分组 > 类级别分组 > 包级别分组 > 默认分组.