首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否有可能在typedi的Container.get()中调用构造函数?

在typedi的Container.get()方法中调用构造函数是不可能的。typedi是一个用于依赖注入的库,它允许我们通过装饰器或注解的方式来声明依赖关系,并自动解析和注入这些依赖。当我们使用Container.get()方法获取一个实例时,typedi会检查该实例是否已经在容器中注册,并尝试解析其依赖关系。然而,typedi并不会调用构造函数来创建实例,而是使用已经注册的依赖关系来构建实例。

在typedi中,我们可以使用@Service()装饰器将一个类标记为可注入的服务,并使用@Inject()装饰器将依赖注入到类的构造函数中。当我们调用Container.get()方法时,typedi会根据类的构造函数和已注册的依赖关系来创建实例,并自动解析和注入依赖。

因此,在typedi的Container.get()方法中,我们不能直接调用构造函数,而是应该通过依赖注入的方式来获取实例。这样可以确保依赖关系的正确解析和注入,提高代码的可维护性和可测试性。

关于typedi的更多信息和使用示例,您可以参考腾讯云的typedi产品介绍链接地址:https://cloud.tencent.com/product/typedi

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

轻量级Golang IoC容器——iocgo

习惯于Java或者C#开发的人应该对控制反转与依赖注入应该再熟悉不过了。在Java平台有鼎鼎大名的Spring框架,在C#平台有Autofac,Unity,Windsor等,我当年C#开发时用的最多的就是Windsor。使用IoC容器是面向对象开发中非常方便的解耦模块之间的依赖的方法。各个模块之间不依赖于实现,而是依赖于接口,然后在构造函数或者属性或者方法中注入特定的实现,方便了各个模块的拆分以及模块的独立单元测试。 在[长安链]的设计中,各个模块可以灵活组装,模块之间的依赖基于protocol中定义的接口,每个接口有一个或者多个官方实现,当然第三方也可以提供该接口更多的实现。为了实现更灵活的组装各个模块,管理各个模块的依赖关系,于是我写了iocgo这个轻量级的golang版Ioc容器。

02

threadLocal 记录

翻译成中文应该叫做线程局部变量。这个类到底有什么用处呢?在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线程都在操作同一个变量,显然是不行的,并且我们也知道volatile这个关键字也是不能保证线程安全的。那么在有一种情况之下,我们需要满足这样一个条件:变量是同一个,但是每个线程都使用同一个初始值,也就是使用同一个变量的一个新的副本。这种情况之下ThreadLocal就非常有用,比如说DAO的数据库连接,我们知道DAO是单例的,那么他的属性Connection就不是一个线程安全的变量。而我们每个线程都需要使用他,并且各自使用各自的。这种情况,ThreadLocal就比较好的解决了这个问题。

00
领券