依赖注入
在service中设置@injectable()则声明该服务可被注入
在module中设置provider即可在controller的constructor中注入使用
provider针对当前模块作用域,imports针对外部模块作用域
服务提供者
服务提供者本身可以使用其它可被注入的服务
默认作用域为当前模块,其它模块需要使用需要在module中显式导出;对应地其它模块需要在imports中导入才可使用
注入方式
- 基础注入
- 类注入
- 基于env的动态注册
- 自定义注入(useFactory)
生命周期
Request->Middleware->Guard->RequestInterceptor->Pipeline->Controller->ResponseInterceptor->ExceptionFilter->Response
- Request
- Middleware
- Global Middleware
- Module Middleware
- Guard
- Global Guard
- Controller Guard
- Route Guard
- Interceptor(Request)
- Global Interceptor
- Controller Interceptor
- Route Interceptor
- Pipeline
- Global Pipeline
- Controller Pipeline
- Route Pipeline
- Route Params Pipeline
- Controller
- ResponseInterceptor
- Route Interceptor
- Controller Interceptor
- Global Interceptor
- Exception Filter
- Route Exception Filter
- Controller Exception Filter
- Global Exception Filter
- Response