一、建立注入器bootstrap
angular在啓動時,首先會建立一個應用級的注入器,而後將模塊中聲明的提供器都註冊到這個應用級注入器中。被註冊的提供器除了應用的主模塊聲明的之外,還包括全部被引用的模塊聲明的提供器。app
而後angular會建立啓動模塊的主組件bootstrap:[AppCompanent],同時應用級的注入器會爲這個主組件建立一個組件級的注入器,並將組件中聲明的提供器註冊到這個組件級的注入器上。依次類推。在組件引用和路由引用組件時,將會建立相應的子組件注入器。ide
---------------------------函數
二、查找tokencomponent
angular依賴注入只有一個注入點,就是構造函數。blog
若是構造器沒有任何參數,就可判定沒有注入任何東西。token
當注入器發現ProductService這個token時,就會去尋找自身的providers是否有這個token,若是沒找到,就會去他的父級providers尋找。若是在應用級注入器都沒有找到,就會報錯。路由
路徑依次爲products.component.ts-->app.component.ts-->app.module.tsangular