主要是從一個入口開始,比如applicationContext,或者交給web容器載入入口的servlet。然後就是載入過程,Spring先根據配置檔案進行初始化的處理,比如把xml裡面的配置內容載入,知道你要讓Spring做什麼。再然後就是裝配過程,比如 Spring根據配置開始掃描,包啊類啊方法欄位啊,挨個掃描一遍,Spring先得知道他們之間的依賴關係,然後開始例項化物件,這裡也就是ioc了,物件由Spring建立,一般根據你的xml裡配置的規則去反射建立,把建立的物件維護到Spring容器也就是一個map之類的資料結構中,再然後Spring按照依賴關係把各個物件反射賦給需要注入的引用。當然也有比如 @configuration註解和@Bean註解的內容,Spring掃描到也會就做相應處理,比如把一些你自己建立的物件放到容器裡。然後還有很多別的,比如aop啊就是用些cglib之類的動態代理技術動態生成類的位元組碼繼承了被切的類,再創建出物件放到容器中。然後到這裡Spring就載入的差不多了。總之就是幫你建立和管理物件以及幫你把物件塞到引用裡(這麼說好像不太準確 就這個意思 其實學名叫注入)的一個東西(學名叫容器)。
主要是從一個入口開始,比如applicationContext,或者交給web容器載入入口的servlet。然後就是載入過程,Spring先根據配置檔案進行初始化的處理,比如把xml裡面的配置內容載入,知道你要讓Spring做什麼。再然後就是裝配過程,比如 Spring根據配置開始掃描,包啊類啊方法欄位啊,挨個掃描一遍,Spring先得知道他們之間的依賴關係,然後開始例項化物件,這裡也就是ioc了,物件由Spring建立,一般根據你的xml裡配置的規則去反射建立,把建立的物件維護到Spring容器也就是一個map之類的資料結構中,再然後Spring按照依賴關係把各個物件反射賦給需要注入的引用。當然也有比如 @configuration註解和@Bean註解的內容,Spring掃描到也會就做相應處理,比如把一些你自己建立的物件放到容器裡。然後還有很多別的,比如aop啊就是用些cglib之類的動態代理技術動態生成類的位元組碼繼承了被切的類,再創建出物件放到容器中。然後到這裡Spring就載入的差不多了。總之就是幫你建立和管理物件以及幫你把物件塞到引用裡(這麼說好像不太準確 就這個意思 其實學名叫注入)的一個東西(學名叫容器)。