アノテーション
@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
を使用してターゲットクラスを定義できます。すべての構成クラスから選択されます。
@EnableCommand(Example.class)
class App {
}
@CommandScan
を使用してターゲットクラスを定義できます。すべての構成クラスから選択されます。
最上位の Spring Boot App クラスで @CommandScan を定義すると、App のすべてのパッケージおよびクラスからすべてのコマンドターゲットが自動的にスキャンされます。 |
@CommandScan
class App {
}