providers 는 Nest 의 기본 개념이다. services, respositories, factories, helpers 등이 모두 providers 이다. 주요 아이디어는 종속성으로 주입될 수 있다는 것이다.
Nest.js의 요청 생명주기는 요청 → 미들웨어 → 가드 → 인터셉터 → 파이프 → 인터셉터 → 예외 필터 → 응답 순으로 이루어진다.
순환 종속성은 두 클래스가 각자에 의존할 때 발생한다. Nest.js 에서는 모듈과 모듈사이 혹은 프로바이더와 프로바이더 사이에서 발생할 수 있다.