在app.module.ts中可以有4种注册服务的方式,其中类是常用的简写形式,那在控制器构造函数中注入相应的服务,其中类的写法形式可以不使用 @Inject 来指定 token 令牌,只需要在构造函数参数中标识类型为相应的服务类即可成功注入。
请问老师在实现原理层面,是如何处理没有使用 @Inject 装饰器也能找到对应服务的机制?
举例
@Controller()
export class AppController {
constructor(
@Inject(token) service1,
service2: Service2
) { }
其中 @Inject 装饰器可以保存被装饰的参数token值,以便nestjs通过元数据往该参数传递正确的值,那 service2 参数,nestjs如何知道使用哪个服务往该参数中传递正确的值?