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 的测试实用程序集成,并支持在测试环境中重写依赖项、加载配置以及控制冲突行为。

欲了解更多信息和示例,请参阅 使用依赖注入进行测试