Python-Inject 技术文档

Python-Inject 技术文档

1. 安装指南

安装方式

使用 pip 安装 python-inject 的最新版本:

pip install inject

支持的 Python 版本

python-inject 支持多个 Python 版本,具体如下:

PythonInject 版本
3.9+5.0+
3.6-3.84.1+, < 5.0
3.54.0
< 3.53.*

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),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值