Spring Framework 를 사용하다 NestJS 를 사용하며 겪은 다른점

NestJS는 의존성을 두 번 선언한다.

  1. Class 레벨에서 의존성을 선언한다.
  2. 모듈 레벨에서 Provider 배열에 의존성을 선언한다.

이유는?

// a.module.ts
@Module({
  imports: [BModule],
  exports: [AService]
})
export class AModule {}

// b.module.ts
@Module({
  imports: [AModule],
  exports: [BService]
})
export class BModule {}

그렇다면 단점은?