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