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
- 项目
标签: