当您使用标准 API 时,Bean 上的方法将转换为可执行命令,前提是:
-
bean 类带有注释。(这用于限制 Bean 的集合 被考虑。
@ShellComponent
-
该方法带有注释。
@ShellMethod
这是一个构造型注释,它本身是用 元注释的。因此,
除了过滤机制之外,还可以使用它来声明 Bean(例如,通过使用 )。 您可以使用注释的属性来定制所创建 Bean 的名称。 |
这是一个构造型注释,它本身是用 元注释的。因此,
除了过滤机制之外,还可以使用它来声明 Bean(例如,通过使用 )。 您可以使用注释的属性来定制所创建 Bean 的名称。 |
@ShellComponent
static class MyCommands {
@ShellMethod
public void mycommand() {
}
}
注释唯一需要的属性是其属性,它应该具有
简短的一句话,描述命令的作用。这允许你的用户
无需离开 shell 即可获得有关命令的一致帮助(请参阅帮助)。@ShellMethod
value
对你的命令的描述应该简短——不超过一两句话。为了更好 一致性,它应该以大写字母开头,以句点结尾。 |
对你的命令的描述应该简短——不超过一两句话。为了更好 一致性,它应该以大写字母开头,以句点结尾。 |
默认情况下,您不需要指定命令的键(即应使用的单词)
在 shell 中调用它)。方法的名称用作命令键,将 camelCase 名称转换为
虚线,GNU 样式的名称(例如,变为 )。sayHello()
say-hello
但是,您可以使用注释的属性显式设置命令键:key
@ShellMethod(value = "Add numbers.", key = "sum")
public int add(int a, int b) {
return a + b;
}
该属性接受多个值。
如果为单个方法设置了多个键,则该命令将使用这些不同的别名进行注册。key |
该属性接受多个值。
如果为单个方法设置了多个键,则该命令将使用这些不同的别名进行注册。key |
命令键几乎可以包含任何字符,包括空格。不过,在想出名字时, 请记住,用户通常会欣赏一致性。也就是说,您应该避免将虚线名称与 间隔名称和其他不一致之处。 |
命令键几乎可以包含任何字符,包括空格。不过,在想出名字时, 请记住,用户通常会欣赏一致性。也就是说,您应该避免将虚线名称与 间隔名称和其他不一致之处。 |