Nanoinject是一个非常小且简单的依赖注入容器

nanoinject的Python项目详细描述


注入纳米

Nanoinject是一个非常小且简单的依赖注入容器 对于python3.6+。其主要特点:

  • 很容易在五分钟内使用。在
  • 可在代码或配置文件中配置。在
  • 功能完善。在

安装

pip install nanoinject

使用指南

依赖注入是实现Inversion of Control的一种方法。在

在代码

中使用
classA:value=42classB:def__init__(self,a):self.a=ac=Container()c.add('a',lambdac:A())c.add('b',lambdac:B(c.get('a')))assert42==c.get('b').a.value

使用配置

它首先以YAML格式声明您的服务:

^{pr2}$

然后让config对象根据该YAML文件配置容器:

importosfromnanoinjectimportContainer,ConfigclassA:def__init__(self,value):self.value=valueclassB:def__init__(self,a):self.a=ac=Container()config=Config.from_yaml_file(os.path.dirname(__file__)+'/services.yaml')config.config(c)assert42==c.get('b').a.value

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

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像