ServiceLoader

ServiceLoader 可用於獲取擴充套件給定型別(=服務)的類的例項,這些類在 .jar 檔案中打包的檔案中指定。擴充套件/實現的服務通常是介面,但這不是必需的。

擴充套件/實現類需要為 ServiceLoader 提供零引數建構函式來例項化它們。

要通過 ServiceLoader 發現,需要將包含所實現服務的完全限定型別名稱的文字檔案儲存在 jar 檔案中的 META-INF/services 目錄中。此檔案包含一個實現每行服務的類的完全限定名稱。