注释
@Command
注解用于方法上时,会将其标记为命令注册的候选方法。在下面的示例中,定义了一个名为 example
的命令。
class Example {
@Command(command = "example")
public String example() {
return "Hello";
}
}
@Command
注解可以放在一个类上,该类为在同一类中定义的 @Command
方法定义默认值或共享设置。在下面的示例中,定义了一个名为 parent example
的命令。
@Command(command = "parent")
class Example {
@Command(command = "example")
public String example() {
return "Hello";
}
}
使用 @Command
不会自动注册命令目标,而是需要使用 @EnableCommand
和/或 @CommandScan
注解。这种模式在 Spring 的其他部分中很常见,并且为用户提供更好的灵活性,对于命令目标是包容的而不是排他的。
你可以使用 @EnableCommand
定义目标类。它将从所有 Configuration 类中被选取。
@EnableCommand(Example.class)
class App {
}
你可以使用 @CommandScan
定义目标类。它将从所有 Configuration 类中被选取。
提示
在 Spring Boot 的 App
类中定义顶层的 @CommandScan
,它将自动扫描 App
下所有包和类中的命令目标。
@CommandScan
class App {
}