此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.3spring-doc.cn

旧版注释

当您使用标准 API 时,bean 上的方法将转换为可执行命令,前提是:spring-doc.cn

  • Bean 类带有 Comments。(这用于限制 bean 的集合 被考虑的。@ShellComponentspring-doc.cn

  • 该方法带有 Comments。@ShellMethodspring-doc.cn

这是一个构造型注释,它本身是用 .因此, 除了过滤机制之外,您还可以使用它来声明 bean(例如,通过使用)。@ShellComponent@Component@ComponentScanspring-doc.cn

您可以使用 Comments 的属性来定制创建的 Bean 的名称。valuespring-doc.cn

@ShellComponent
static class MyCommands {

	@ShellMethod
	public void mycommand() {
	}
}

注解唯一需要的属性是它的属性,它应该有 一个简短的一句话描述,说明命令的作用。这样,您的用户就可以 无需离开 shell 即可获得有关命令的一致帮助(请参阅帮助)。@ShellMethodvaluespring-doc.cn

命令的描述应该简短 — 不超过一两句话。为了更好 consistency,它应该以大写字母开头,以句点结尾。

默认情况下,您无需指定命令的键(即应使用的单词) 在 shell 中调用它)。方法的名称用作 command 键,将 camelCase 名称转换为 虚线、GNU 样式的名称(例如,变为 )。sayHello()say-hellospring-doc.cn

但是,您可以使用 annotation 的属性显式设置 command 键:keyspring-doc.cn

@ShellMethod(value = "Add numbers.", key = "sum")
public int add(int a, int b) {
	return a + b;
}
该属性接受多个值。 如果为单个方法设置多个键,则命令将使用这些不同的别名注册。key
Command 键几乎可以包含任何字符,包括空格。不过,在想出名字时, 请记住,一致性通常受到用户的赞赏。也就是说,您应该避免将虚线名称与 带空格的名称和其他不一致。