nestjs将一个模块分为3层,通过module将controller、service组合成一个可访问的模块,controller负责路由映射,service负责对接dao&entity。controller和service也可以注入到其他module中使用。
如果controller注入一个service,则所属的所有module都必须注入controller使用到的service!!一般类加载异常都是因为其他module注入了另外的controller但没注入controller依赖的service。
同理,如果service注入一个dao&entity,则所属的所有controller都必须在所属的module注入相应的dao&entity!!这个依赖关系是间接的更加隐蔽,例如App module注入了一个user的controller,那么需要注入user的service、dao&entity。