Python3的一个灵活(注释或键)但简单的依赖注入库。

rInject的Python项目详细描述


里尼杰特

Python3的一个灵活(注释或键)但简单的依赖注入库。在

安装

pip install rinject

使用

fromrinjectimportInjectorfromdatetimeimportdatetimeinjector=Injector()classA:def__init__(self,greeting:str):self.greeting=greetingdef__call__(self,name:str):print(f"{self.greeting}{name}")classB:def__init__(self,a:A,name:str):self.a=aself.name=namedef__call__(self):self.a(self.name)if__name__=="__main__":injector.register_value("greeting","Hello")injector.register_instance(A,A)injector.register_instance(B,B)injector.register_factory("name",lambda:"Steve@"+datetime.utcnow().isoformat())b=injector.resolve(B)b()# outputs => Hello Steveb2=injector.resolve(B)assertbisb2

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener