在应用启动中,会首先创建一个应用级的注入器 ,然后将模块声明的提供器都注入到这个提供器中, imports声明的模块和providers,创建主组件。同时,应用级的注入器会为这个主组件创建一个 组件级的注入器,并将组件中的声明的提供器注册到这个组件的注入器。
注入器先检查自身组件提供器,然后检查父组件注入器有没有合适提供器,然后检查应用级的注入器。
找到了,根据这个提供器实例化并注入构造函数,如果没有找到,抛出异常。
我们不需要编码调用方法,用构造函数参数自动注入。
ng框架一个注入点,构造函数。一个组件,没有参数的构造函数,判断这个组件没有注入。