傳統註解

當您使用標準 API 時,bean 上的方法會轉換為可執行命令,前提是:

  • bean 類帶有 @ShellComponent 註解。(這用於限制被考慮的 bean 集合。)

  • 方法帶有 @ShellMethod 註解。

@ShellComponent 是一個原型註解,它本身被 @Component 元註解。因此,除了過濾機制之外,您還可以使用它來宣告 bean(例如,透過使用 @ComponentScan)。

您可以透過使用註解的 value 屬性來自定義所建立 bean 的名稱。

@ShellComponent
static class MyCommands {

	@ShellMethod
	public void mycommand() {
	}
}

@ShellMethod 註解唯一必需的屬性是其 value 屬性,它應該包含一個簡短的一句話描述,說明該命令的作用。這讓您的使用者無需離開 shell 即可獲得關於您命令的一致幫助(請參閱幫助)。

您的命令描述應該簡短——不超過一兩句話。為了更好地保持一致性,它應該以大寫字母開頭並以句號結尾。

預設情況下,您不需要為您的命令指定鍵(即,在 shell 中呼叫它時應該使用的單詞)。方法名用作命令鍵,將駝峰式命名轉換為帶短劃線的 GNU 風格命名(例如,sayHello() 變為 say-hello)。

但是,您可以透過使用註解的 key 屬性來顯式設定命令鍵。

@ShellMethod(value = "Add numbers.", key = "sum")
public int add(int a, int b) {
	return a + b;
}
key 屬性接受多個值。如果您為一個方法設定了多個鍵,則該命令會以這些不同的別名註冊。
命令鍵可以包含幾乎任何字元,包括空格。但是,在命名時請記住,一致性通常會受到使用者的歡迎。也就是說,您應該避免混合使用帶短劃線的名稱與帶空格的名稱以及其他不一致之處。
© . This site is unofficial and not affiliated with VMware.