Skip to content
Server Plugin

相依注入

必要的相依性io.ktor:ktor-server-di

程式碼範例 server-di

相依注入 (DI) 是一種設計模式,可協助您為組件提供所需的相依性。與其直接建立具體實作,模組更依賴於抽象,而 DI 容器則負責在執行時建構並提供適當的執行個體。這種分離減少了耦合,提高了可測試性,並使得在不修改現有程式碼的情況下更換或重新配置實作變得更加容易。

Ktor 提供了一個內建的 DI 外掛程式,讓您能註冊一次服務和配置物件,並在整個應用程式中存取它們。您可以用一致且型別安全的方式將這些相依性注入到模組中、外掛程式、路由以及其他 Ktor 組件。該外掛程式與 Ktor 應用程式生命週期整合,並支援作用域、結構化配置以及自動資源管理,這使得組織和維護應用程式層級的服務變得更加輕鬆。

新增相依性

若要使用 DI,請在建置指令碼中包含 ktor-server-di 構件:

Kotlin
Groovy
XML

相依注入在 Ktor 中如何運作

在 Ktor 中,相依注入是一個單一且整合的程序,由兩個密切相關的步驟組成:

這些步驟由單一 DI 容器處理。

若要開始在應用程式中使用相依注入,請先從註冊相依性開始。一旦宣告了相依性,即可繼續進行解析相依性

支援的功能

DI 外掛程式支援一系列旨在涵蓋常見應用程式需求的功能:

配置與生命週期行為

DI 容器的行為可以使用配置選項進行自訂。這些選項控制相依性金鑰的配對方式、衝突的處理方式,以及在進階情境中解析行為的表現。

有關配置詳情,請參閱配置 DI 外掛程式

有關資源清理與關閉行為,請參閱資源生命週期管理

使用相依注入進行測試

DI 外掛程式與 Ktor 的測試公用程式整合,並支援覆寫相依性、載入配置以及在測試環境中控制衝突行為。

若要了解更多資訊與範例,請參閱使用相依注入進行測試