註解

@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 {
}