Python-Inject 技术文档
1. 安装指南
安装方式
使用 pip 安装 python-inject 的最新版本:
pip install inject
支持的 Python 版本
python-inject 支持多个 Python 版本,具体如下:
| Python | Inject 版本 |
|---|---|
| 3.9+ | 5.0+ |
| 3.6-3.8 | 4.1+, < 5.0 |
| 3.5 | 4.0 |
| < 3.5 | 3.* |
2. 项目使用说明
关键特性
- 快速:性能高效。
- 线程安全:支持多线程环境。
- 简单易用:使用方便,不侵入类构造函数。
- 透明集成测试:无缝集成到测试中。
- 自动参数注入:利用类型注解自动注入参数。
- 支持类型提示:支持 Python 3.5+ 的类型提示。
- 支持上下文管理器:支持上下文管理器的绑定。
示例代码
以下是一个简单的使用示例:
import inject
# 使用 inject.instance 请求依赖
def foo(bar):
cache = inject.instance(Cache)
cache.save('bar', bar)
# 使用 inject.params 注入依赖
@inject.params(cache=Cache, user=CurrentUser)
def baz(foo, cache=None, user=None):
cache.save('foo', foo, user)
# 创建可选配置
def my_config(binder):
binder.bind(Cache, RedisCache('localhost:1234'))
# 配置共享注入器
inject.configure(my_config)
# 实例化 User 类,其依赖在访问时注入
user = User(10)
user.save()
# 调用函数,依赖自动注入
foo('Hello')
bar('world')
3. 项目 API 使用文档
依赖注入
- inject.instance(cls):请求依赖实例。
- inject.params(cache=Cache, user=CurrentUser):注入依赖作为关键字参数或位置参数。
- inject.autoparams():自动注入使用类型注解的参数(仅支持 Python 3.5+)。
配置注入器
- inject.configure(config_func):配置共享注入器。
- inject.clear():清除当前注入器配置。
绑定类型
- binder.bind(cls, instance):绑定实例。
- binder.bind_to_constructor(cls, constructor):绑定构造函数。
- binder.bind_to_provider(cls, provider):绑定提供者。
上下文管理器
- binder.bind_to_provider(cls, context_manager):绑定上下文管理器。
4. 项目安装方式
使用 pip 安装
pip install inject
手动安装
可以从 PyPI 下载源码包,解压后运行以下命令:
python setup.py install
通过以上步骤,您可以顺利安装并使用 python-inject 进行依赖注入。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



